J'ai une table ressemble
ID, name, Likes, Login_time
select * from mytbl
Je veux filterr cette table:
distinct ID, name like, login_time(last login time)
J'ai essayé cette requête, mais cela n'a pas fonctionné.
select * from (select name, likes, login_time rank() over (partition by id order by login_time desc) as rank from mytbl) t where t.rank = 1
utiliser row_number au lieu du rang
select * from ( select id, name, likes, login_time, ROW_NUMBER() over (partition by id order by login_time desc) as rank from mytbl )t where t.rank = 1
Essaye ça
;WITH time AS ( SELECT Id, name, likes, login_time, row_number() over(PARTITION BY Id ORDER BY login_time desc) AS RowIndex ) SELECT Id, name, likes, login_time FROM time WHERE RowIndex = 1