【发布时间】:2020-02-08 05:29:22
【问题描述】:
我目前正在更新我的 SQL 知识。
我有一张桌子 - 会话。它存储有关用户日志活动的信息。即他们登录的持续时间。见下表。
所以我试图从表中选择所有重复的行(不仅仅是验证是否存在重复的行)。 到目前为止,我已经设法获得了整个表的输出,但是,我只需要 userId 和 duration 列。我怎样才能只选择这两行?
我认为它应该是 SELECT a.userId 而不是 a.* 等,但是我收到错误“不明确的列名:userId”。不知道发生了什么。对不起,如果这是一个愚蠢的问题,但任何帮助表示赞赏。谢谢。
SELECT a.*
FROM sessions a
JOIN ( SELECT userId,duration
FROM sessions
GROUP BY userId
HAVING COUNT(userId) > 1 ) b
ON a.userId = b.userId
ORDER BY userId;
【问题讨论】: