3
我有一个表称为登录。我想从每个用户的上次登录获得天的第
下面 见样本数据:SQL Datediff与组通过
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
感谢您的帮助。
感谢您的回复,但我得到一个错误“在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。” – user2617053
我在几分钟前更新了答案,请检查我是否将MAX添加到了datediff函数中的loginDateTime –
奇怪的是,ID在GROUP BY中,这不会导致任何问题。 –