SQL-按日期标记最新条目

时间:2019-01-07 16:37:45

标签: sql date max

我有以下数据。

Clientid  Accountype  Dateapplied
1         Current     01/01/2018
1         Savings     03/01/2018
1         Current     17/01/2018
2         Current     01/04/2018
2         Current     15/04/2018
3         Savings     13/04/2018
3         Savings     15/04/2018
3         Current     14/04/2018

如何在每个客户端Accountype = Current的位置选择最新的日期条目。基本上,我希望能够标记每个客户端的最新条目,因此当我可以进行选择时,我会将一个新字段设置为True。  所以我想带回来的结果是:

Clientid  Accountype  Dateapplied
1         Current     17/01/2018
2         Current     15/04/2018
3         Current     14/04/2018

我也尝试过按ClientID进行分组,然后选择使用max,但是无论如何,我都无法为每个clientid选择最新的分组。应该很简单,但要动脑筋。

因此尝试了类似的操作,但无法正常工作。感谢帮助任何人。

select Dateapplied,Clientid, Accountype  
from Clienttable t1
WHERE EXISTS(SELECT 1
     FROM Clienttable t2

     WHERE Accountype  = 'Current'
     and  t2.Clientid = t1.X_Clientid

     GROUP BY t2.Clientid,
              t2.Dateapplied
     HAVING t1.Dateapplied= MAX(t2.Dateapplied))

1 个答案:

答案 0 :(得分:0)

您不需要使用子查询。只需获取最大值(已应用日期)

SELECT ClientId, AccountType, max(dateapplied) dateapplied
from clienttable
where accountType = 'Current'
Group by ClientId, AccountType