您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQLServer-按字段分组后取日期最新的一条

bubuko 2022/1/25 19:10:19 sqlserver 字数 829 阅读 945 来源 http://www.bubuko.com/infolist-5-1.html

sql 按字段分组后取日期最新的一条 第一种方式over(partition by) select t.*?from ( select a.*, row_number() over(partition by 需要分组的字段 order by 更新时间 desc) rw?from 表 a) t?whe ...

sql 按字段分组后取日期最新的一条

第一种方式over(partition by)

select  t.* from (
    select a.*, row_number() over(partition by 需要分组的字段 order by 更新时间 desc) rw 
from 表 a) t where t.rw = 1;

第二种方式MAX(日期)

select t1.* from 表 t1 inner join (
   SELECT max(create_date) as create_date, 需要分组的字段mark
   FROM 表 group by mark
) t2 on t1.create_date=t2.create_date and t1.mark=t2.mark

 

第一种在数据量比较大的时候很慢,第二种反而更快,建议选择第二种

SQLServer-按字段分组后取日期最新的一条

原文:https://www.cnblogs.com/liujianshe1990-/p/14693392.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶