clwn.net
当前位置:首页 >> sql 每组第一条 >>

sql 每组第一条

select 星期,max(字母) As 字母 from 表 group by 星期

select * from ( select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组 , * -- 所需显示的字段 from 表 ) as T where T.rownum = 1 对每组的数据按日期排序并加上行号 取出时只取行号为1,也就是第一条数据。

用row_number函数可以解决。 1、创建测试表及插入数据: create table test(id int,name varchar(10),score int,classname varchar(20));insert into test values (1,'张三',100,'一班');insert into test values (2,'李四',89,'一班');insert i...

先统计分组,然后再数个数 SELECT COUNT(ID) FROM (SELECT ID FROM tab GROUP BY ID HAVING COUNT(1) > 1) t

select 编号,max(日期) from 表 group by 编号

SQL2005写法。 例如求出每个部门最高薪酬的人员信息。跟你每组第一行的要求很类似吧! Declare @Employee table (ID int ,Dept int ,Salary decimal(10,2)) insert into @Employee values(1,10,5500.00) insert into @Employee values(2,10,4500...

select m, nfrom ( select row_number () over (partition by m order by n desc) rn,--以m分组,分组内以n倒序排列求每组中各自的序号 m, n from table where ...) wwhere w.rn

什么数据库?不同数据的sql是不同的.mysql,postgresql用limit和offset.sql server 用两次top.firebird用rows.其它的我不知道.

A与max(C)组合后,值是否唯一? 如果唯一可以这样: select A,C,(select B from T t where t.A = K.A AND t.C = K.C) B from ( select t.A A,max(t.C) C from T t group by T.A ) K

select [序号],[名称],max([号码]) from table group by [名称] ,[序号]

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com