如何通过sql中的最新日期获取用户名的最新记录

用户SG

我想处理数据库中的所有数据,如果用户名具有相同的值,我需要根据 T_Date 获取最新状态(即 group_codes)。例如

usernames |  group_codes | Fr_Date | T_Date
ABC          PT           2016-07    2016-08
AAA          FT           2015-08    2016-08
ABC          FT           2018-09    2018-10

所以输出是这样的:

ABC       FT          2018-09              2018-10 

(这个数据有两个值但是都是最新的数据)

AAA       FT          2015-08              2016-08

当前代码是:

select usernames, max(T_Date)
from AA_WC_tempstatus
group by usernames
宰努尔·阿巴丁·图欣

使用核心子查询

select t.* from table_name t where 
t.T_Date= ( select max(T_Date) 
      from table_name t1 where t1.usernames=t.usernames
          )

或窗口函数(大多数 dbms 支持)

select * from 
(

select * ,row_number() over(partition by usernames order by T_Date desc) rn
  from table_name
) t where rn=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章