select * from ( select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组 , * -- 所需显示的字段 from 表 ) as T where T.rownum = 1 对每组的数据按日期排序并加上行号 取出时只取行号为1,也就是第一条数据。
这种方法,能同时一次对两个字段分组波,即两个字段内容相同为一组
可以的
逗号分开 select * from ( select row_number() over(partition by 'Gr1',‘Gr2’[, ...] order by 'Sort1', 'Sort2'[, ...]) as rownum -- 排序并分组 , * -- 所需显示的字段 from 表 ) as T where T.rownum = 1
我的意思是两字段唯一标示一条记录,不是在分组中分组
不是很明白你的意思 但是这不是分组中分组。。 这个只分组了一次,给每组的数据都加上rownum,再选取每组中的第一条 C1 C2 C3 1 A 2012 2 A 2013 1 B 2012 2 B 2013 ... C1是rownum, C2是分组条件,C3是排序条件 只选取C1 = 1 的