每个分类取最新的几条的SQL实现代码
每个分类取最新的几条的SQL实现代码,需要的朋友可以参考下
CREATE TABLE table1( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](128) NOT NULL, [class] int not null, [date] datetime not null)class 表示分类编号。 分类数不固定, 至少有上千种分类date 表示该条记录被更新的时间
我们现在想获得每个分类最新被更新的5条记录。
解决方案
select id,name,class,date from(select id,name,class,date ,row_number() over(partition by class order by date desc)as rowindex from table1) awhere rowindex create table #temp
(
company varchar(50),
product varchar(50),
inputDate datetime
)
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('杭州大明有限公司','汽车5','2010-7-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('北京小科有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车1','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车2','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车3','2010-8-1')
insert into #temp(company,product,inputDate) values('上海有得有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('天津旺旺有限公司','汽车4','2010-8-1')
insert into #temp(company,product,inputDate) values('天津旺旺有限公司','汽车5','2010-8-1')
select * from #temp
create proc getdata
@num int
as
begin
select top 4 * from
(
select ( select count(*) from #temp where company=a.company and productfrom #temp a
) b
where 序号>=@num
order by 序号,inputDate desc
end
go
getdata 2
/*
结果
1 杭州大明有限公司 汽车1 2010-08-01 00:00:00.000
1 北京小科有限公司 汽车1 2010-08-01 00:00:00.000
1 上海有得有限公司 汽车1 2010-08-01 00:00:00.000
1 天津旺旺有限公司 汽车4 2010-08-01 00:00:00.000
2 天津旺旺有限公司 汽车5 2010-08-01 00:00:00.000
2 上海有得有限公司 汽车2 2010-08-01 00:00:00.000
2 北京小科有限公司 汽车2 2010-08-01 00:00:00.000
2 杭州大明有限公司 汽车2 2010-08-01 00:00:00.000
3 杭州大明有限公司 汽车3 2010-08-01 00:00:00.000
3 北京小科有限公司 汽车3 2010-08-01 00:00:00.000
3 上海有得有限公司 汽车3 2010-08-01 00:00:00.000
4 北京小科有限公司 汽车4 2010-08-01 00:00:00.000
4 北京小科有限公司 汽车4 2010-08-01 00:00:00.000
4 上海有得有限公司 汽车4 2010-08-01 00:00:00.000
4 杭州大明有限公司 汽车4 2010-08-01 00:00:00.000
5 杭州大明有限公司 汽车5 2010-07-01 00:00:00.000
*/
--sql2005
create proc getdata2005
@num int
as
begin
select top 4 * from
(
select row_number() over (partition by company order by product ) as 序号,a.company,a.product,a.inputDate
from #temp a
) b
where 序号>=@num
order by 序号,inputDate desc
end
getdata2005 4
select * from #temp
select ( select count(*) from #temp where company+ product,a.company+a.product as 唯一标志一行
from #temp a
order by company,product
代码如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->if object_id(N'company') is not null
drop table company
go
create table company
(
companyname varchar(2),
product varchar(60)
)
--公司1
insert into company
select 'A','A1' union
select 'A','A2' union
select 'A','A3' union
select 'A','A4' union
select 'A','A5' union
select 'A','A6' union
select 'A','A7' union
select 'A','A8' union
select 'A','A9' union
select 'A','A10'
--公司2
insert into company
select 'B','B1' union
select 'B','B2' union
select 'B','B3' union
select 'B','B4' union
select 'B','B5' union
select 'B','B6' union
select 'B','B7' union
select 'B','B8' union
select 'B','B9' union
select 'B','B10'
--公司3
insert into company
select 'C','C1' union
select 'C','C2' union
select 'C','C3' union
select 'C','C4' union
select 'C','C5' union
select 'C','C6' union
select 'C','C7' union
select 'C','C8' union
select 'C','C9' union
select 'C','C10'
--公司4
insert into company
select 'D','D1' union
select 'D','D2' union
select 'D','D3' union
select 'D','D4' union
select 'D','D5' union
select 'D','D6' union
select 'D','D7' union
select 'D','D8' union
select 'D','D9' union
select 'D','D10'
--公司5
insert into company
select 'E','E1' union
select 'E','E2' union
select 'E','E3' union
select 'E','E4' union
select 'E','E5' union
select 'E','E6' union
select 'E','E7' union
select 'E','E8' union
select 'E','E9' union
select 'E','E10'
--公司6
insert into company
select 'F','F1' union
select 'F','F2' union
select 'F','F3' union
select 'F','F4' union
select 'F','F5' union
select 'F','F6' union
select 'F','F7' union
select 'F','F8' union
select 'F','F9' union
select 'F','F10'
--公司7
insert into company
select 'G','G1' union
select 'G','G2' union
select 'G','G3' union
select 'G','G4' union
select 'G','G5' union
select 'G','G6' union
select 'G','G7' union
select 'G','G8' union
select 'G','G9' union
select 'G','G10'
--公司8
insert into company
select 'H','H1' union
select 'H','H2' union
select 'H','H3' union
select 'H','H4' union
select 'H','H5' union
select 'H','H6' union
select 'H','H7' union
select 'H','H8' union
select 'H','H9' union
select 'H','H10'
--公司9
insert into company
select 'I','I1' union
select 'I','I2' union
select 'I','I3' union
select 'I','I4' union
select 'I','I5' union
select 'I','I6' union
select 'I','I7' union
select 'I','I8' union
select 'I','I9' union
select 'I','I10'
--公司10
insert into company
select 'J','J1' union
select 'J','J2' union
select 'J','J3' union
select 'J','J4' union
select 'J','J5' union
select 'J','J6' union
select 'J','J7' union
select 'J','J8' union
select 'J','J9' union
select 'J','J10'
IF (select Object_id('Tempdb..#t')) IS NULL
select identity(int,1,1) as id,* into #t from company
order by left(product,1),cast(substring(product,2,2) as int)
if object_id(N'getdata','P') is not null
drop table getdata
go
create proc getdata
@num1 int --第几页
as
begin
select companyname,product from
(
select row_number() over (partition by companyname order by id) as 序号,*
from #t
) a
where 序号=@num1
order by companyname
end
go
getdata 4
go
DROP procedure getdata

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JSP コメントの分類と使用状況の分析 JSP コメントは 2 つのタイプに分類されます。 単一行コメント: で終わる、単一行のコードのみコメントできます。複数行のコメント: /* で始まり */ で終わると、複数行のコードにコメントを付けることができます。単一行のコメントの例 複数行のコメントの例/**これは複数行のコメントです*コードの複数行にコメントできます*/JSP コメントの使用法 JSP コードを読みやすくするために JSP コメントを使用できます。

人工知能の分類には、コグニティブ AI、機械学習 AI、ディープラーニングが含まれます。人工知能は、人間の知能をシミュレートし、拡張し、拡張するための理論、方法、技術、およびアプリケーションシステムを研究および開発する新しい技術科学です。

大量のデータを分類する場合、このデータを手動で処理するのは非常に時間がかかり、困難な作業です。この場合、分類にニューラル ネットワークを使用すると、作業を迅速かつ簡単に行うことができます。 Python には成熟した使いやすいニューラル ネットワーク ライブラリが多数あるため、Python を選択することをお勧めします。この記事では、Python で分類にニューラル ネットワークを使用する方法を紹介します。ニューラル ネットワークと分類 分類にニューラル ネットワークを使用する方法を説明する前に、ニューラル ネットワークの概念を簡単に理解する必要があります。ニューラルネットワークとは、

この記事では、Python で分類に混合ガウス モデルを使用する基本概念と実装方法を紹介します。混合ガウスモデルとは何ですか?混合ガウス モデル (GMM) は、複数のガウス分布で構成される一般的なクラスタリング モデルです。データを分類する際、これらのガウス分布を使用してデータをモデル化し、適応的な方法で各分布を決定します。サンプルが属するカテゴリ。 GMM の基本原理 GMM の基本原理は、データセットを複数のガウス分布のグループとして扱うことです。

Linuxのシステムログファイルは、システムの稼働中に発生するさまざまな情報を記録する重要なファイルであり、ログファイルを分析することで、システムの稼働状況の把握やトラブルシューティング、パフォーマンスの最適化に役立ちます。この記事では、Linux システム ログ ファイルの分類と機能を詳しく調査し、読者の理解を深めるために特定のコード例と組み合わせます。 1. Linux システムログファイルの分類 1. システムログ システムログとは、システムの起動、シャットダウン、ユーザーのログイン、シャットダウンなどの重要なイベントを記録するログファイルです。 Linuxシステムの場合

Python は、コンピュータ ビジョンや画像処理で非常に人気のある、広く使用されているプログラミング言語です。この記事では、Python での画像分類の例を見ていきます。画像分類は、画像内のオブジェクトやシーンを識別することを含む、コンピューター ビジョンの基本的なタスクです。この記事では、Python で深層学習フレームワーク Keras を使用して、画像分類モデルのトレーニングと予測を実装する方法を紹介します。準備 画像の分類を進める前に、必要なソフトウェア パッケージをインストールする必要があります。以下は必要なパッケージのリストです

タイトル: 基本的なデータ型が明らかに: 主流のプログラミング言語の分類を理解する 本文: さまざまなプログラミング言語において、データ型は非常に重要な概念であり、プログラムで使用できるさまざまなデータ型を定義します。プログラマーにとって、主流のプログラミング言語の基本的なデータ型を理解することは、強固なプログラミング基盤を構築するための第一歩です。現在、ほとんどの主要なプログラミング言語はいくつかの基本的なデータ型をサポートしており、言語によって異なる場合がありますが、主な概念は似ています。これらの基本的なデータ型は、通常、整数などのいくつかのカテゴリに分類されます。

翻訳者 | Chen Jun によるレビュー | Sun Shujuan 周知のとおり、人間は幼い頃から見たものを識別し、ラベルを付けることを学びます。現在、機械学習と深層学習アルゴリズムの継続的な反復により、コンピューターはキャプチャされた画像を大規模かつ非常に高い精度で分類できるようになりました。現在、このような高度なアルゴリズムのアプリケーション シナリオには、肺スキャン画像を解釈して健康かどうかを判断すること、モバイル デバイスを介して顔認識を実行すること、小売業者向けにさまざまなタイプの消費者オブジェクトを区別することが含まれます。以下では、コンピューター ビジョンのアプリケーションである画像分類について説明し、TensorFlow を使用して小さな画像データ セットでモデルをトレーニングする方法を段階的に示します。
