【发布时间】:2019-05-17 13:37:41
【问题描述】:
我想查看每部手机和使用该手机的用户的最后一次活动。我有一张表UserSessions,它存储了特定用户的最后一次活动以及他们在该活动中使用的手机。大约有 40 部手机,但我总是返回太多记录,比如 10,000 行,而我只想要每部手机的最后一次活动。我做错了什么?
SELECT DISTINCT MAX(UserSessions.LastActivity), Handsets.Name,Users.Username
FROM UserSessions
INNER JOIN Handsets on Handsets.HandsetId = UserSessions.HandsetId
INNER JOIN Users on Users.UserId = UserSessions.UserId
WHERE
Handsets.Name in (1000,1001.1002,1003,1004....)
AND Handsets.Deleted = 0
GROUP BY UserSessions.LastActivity, Handsets.Name,Users.Username
我希望每部手机都能获得一条用户最后一次使用该手机进行活动的记录。我得到的是所有手机上的多条记录和超过 10000 行的日期
【问题讨论】:
-
这是因为一个手机可能被多个用户使用,并且当您按用户分组时,您将获得手机和用户明智的最后操作详细信息。
标签: sql max sql-server-2014 distinct multiple-select