我想处理数据库中的所有数据,如果用户名具有相同的值,我需要根据 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] 删除。
我来说两句