SQL那些事儿(五)--oracle字段分组排序

时间:2021-06-11 09:37:27

select * from(

select t.*, row_number() over(partition byF_ATTRACTIONID order by F_TIME desc ) rk from T_ATTRACTION_CG t WHERE t.F_TIME<TO_DATE('2015-9-07 00:00:00','yyyy-mm-dd hh24:mi:ss'))

where rk=1

row_number() OVER(PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).

其中t.*是一个表的别名 那个select t.*可以查出t这个表下的所有列

原始表T_ATTRACTION_CG

SQL那些事儿(五)--oracle字段分组排序

查询结果

SQL那些事儿(五)--oracle字段分组排序

然后你就可以根据上面结果轻易找到每组里面最大值最小值了