我有一个包含以下几列的用户表:SQL分组依据 – 选择两列
| User_ID (int) | Name (varchar) | Age (int) | Experience_Level (int) |
我想创建一个SQL查询输出所有谁在不是唯一的人的ID年龄和经验的结合。
我迄今为止代码:
SELECT Count(*), User_ID FROM Users
GROUP BY Age,Experience_Level
HAVING Count(*) > 1
显然,这是不完整的,这组非唯一的用户,但它不会告诉我,他们所有的User_IDs的。
在此先感谢您的帮助!
===========解决方案如下:
这里是一个否定的逻辑查询:
SELECT *
FROM Users
WHERE UserID not in
(
SELECT MIN(UserID)
FROM Users
GROUP BY Age, Experience_Level
HAVING COUNT(*) = 1
)