快捷搜索:  xxx  as  推理研究所  幼幼  侦探研究所

澳门黄金城官网app:在SQL Server20052008中对记录进行分组,并获得每组前N条记录



假设有一个表,SQL语句如下澳门黄金城官网app:

CREATE TABLE [dbo].[scan](

[km] [int] NULL,

[kh] [int] NULL,

[cj] [int澳门黄金城官网app] NULL

) ON [PRIMARY]

此中km为科目号、kh为考生号、cj为成就,现对km和kh进行分组,并得到每组前2笔记录(按cj从高到低排序)。基础思惟是为每组加一个序号列,再用where取序号小于即是2的。SQL语句如下:

select * from

(

select a.km,a.澳门黄金城官网appkh,cj,row_number() over(partition澳门黄金城官网app by a.km order by a.km,a.cj desc) n

from

(select km,kh,S澳门黄金城官网appUM(cj) cj from scan group by km,kh) a

) b where n

着末获得的结果集如下图所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: