gpt4 book ai didi

SQL Datediff 与 group by

转载 作者:行者123 更新时间:2023-12-02 00:04:06 24 4
gpt4 key购买 nike

我有一个名为 Login 的表。我想获取每个用户上次登录后的天数
请参阅下面的示例数据:

tableName: Login    
ID|UserName|LoginDateTime
1 |User1 |04/09/12 18:07:06
2 |User1 |04/09/12 18:07:51
3 |User1 |04/09/12 18:21:41
4 |Admin |17/09/12 15:36:30
5 |Admin |17/09/12 15:36:30

这是我的 SQL 命令:
SELECT LoginDateTime, UserName,(DATEDIFF (DAY, [LoginDateTime], GETDATE ())) 
AS [datediff]
FROM Login;

结果:
ID|UserName|LoginDateTime    |No. of Days  
1 |User1 |04/09/12 18:07:06|414
2 |User1 |04/09/12 18:07:51|414
3 |User1 |04/09/12 18:21:41|414
4 |Admin |17/09/12 15:36:30|401
5 |Admin |17/09/12 15:36:30|401

但我想删除重复的记录
ID|UserName|LoginDateTime    |No. of Days   
1 |User1 |04/09/12 18:07:06|414
2 |Admin |17/09/12 15:36:30|401

感谢任何帮助。

最佳答案

如果您想获取每个用户的最新登录信息,请尝试此操作。

SELECT UserName, MAX([LoginDateTime]) AS LoginDateTime,
(DATEDIFF (DAY, MAX([LoginDateTime]), GETDATE ())) as [datediff]
FROM Login
GROUP BY UserName

这个想法是使用 GROUP BY按用户名对所有行进行分组,并使用 MAX聚合函数仅获取具有最新 LoginDateTime 的行,然后使用该最新 loginDateTime 计算天数。

关于SQL Datediff 与 group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19524703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com