SQL实现根据字段对表分组,并对每组进行排序取第一条数据

一、ROW_NUMBER()

ORCLE 中,ROW_NUMBER() 为排名函数,负责对返回结果编号;

over()为分析函数,根据()中内容返回多个结果集;

ROW_NUMBER () OVER (PARTITION BY ... ORDER BY ...)

二、SQL 实现

select * from(
    select row_number() over 
    (PARTITION BY arrive_date,effect_date order by create_time DESC)
           as INDEX,*
from TABLE
) b where b.INDEX = 1;

这样就根据 PARTION BY后面的字段进行 分组 然后 取INDEX的第一条

posted @ 2022-11-24 23:14  Chengchenc88  阅读(814)  评论(0)    收藏  举报