sql 一对多 分组取第一条数据

场景:两张表 一对多的关系(主从关系),两张表关联键为主表id,需要查询从表最新一条数据

方案:使用分析函数row_number() over (partiion by … order by …)来进行分组编号,然后取分组标号值为1的记录即可

select s.* from (
select *, row_number() OVER(PARTITION by “需要分组的字段“ ORDER BY “需要排序的字段“ DESC) AS group_idx
from 从表名 
) s 
where s.group_idx = 1

你可能感兴趣的:(sql,sql,一对多,分组,分析函数,row_number)