当前位置: 代码迷 >> SQL >> sql分组并提取每组的前一条,依照时间排序
  详细解决方案

sql分组并提取每组的前一条,依照时间排序

热度:48   发布时间:2016-05-05 11:19:10.0
sql分组并提取每组的前一条,按照时间排序
select * from (    select     row_number() over(partition by '分组' order by '日期') as rownum    -- 排序并分组                    , *         -- 所需显示的字段    from 表) as Twhere T.rownum = 1对每组的数据按日期排序并加上行号取出时只取行号为1,也就是第一条数据。
? ? ? ? ? ? ?这种方法,能同时一次对两个字段分组波,即两个字段内容相同为一组
可以的
逗号分开select * from(select     row_number() over(partition by 'Gr1',‘Gr2’[, ...]                                             order by 'Sort1', 'Sort2'[, ...]) as rownum    -- 排序并分组, *         -- 所需显示的字段from 表) as Twhere T.rownum = 1
?
我的意思是两字段唯一标示一条记录,不是在分组中分组
?
不是很明白你的意思但是这不是分组中分组。。这个只分组了一次,给每组的数据都加上rownum,再选取每组中的第一条C1    C2    C31        A        20122        A        20131        B        20122        B        2013...C1是rownum, C2是分组条件,C3是排序条件只选取C1 = 1 的
  相关解决方案