我有一个表,其结构如下:
LOGIN OPEN_TIME CMD
1 2018-09-17 17:13:06 6
1 2018-09-17 17:11:06 5
1 2018-09-17 17:15:06 4
2 2018-09-17 17:13:06 6
3 2018-09-17 17:12:06 6
3 2018-09-17 17:23:06 6
3 2018-09-17 17:43:06 4
2 2018-09-17 17:23:06 6
我想获得如下表结果
2 2018-09-17 17:13:06 6
这意味着当属于该组的记录仅具有CMD 6时,如果没有CMD 6的组成员具有CMD 0、1、2、3、4、5没有显示它们,则通过登录名给我该记录组。 / p>
您可以在这里看到小提琴:http://sqlfiddle.com/#!9/81506f/1
答案 0 :(得分:2)
使用子查询查找所有具有%$Name%
的登录名,然后将其过滤掉。
CMD != 6
或
SELECT *
FROM yourTable
WHERE login NOT IN (
SELECT login
FROM yourTable
WHERE cmd != 6)
答案 1 :(得分:0)
您可以使用NOT EXISTS
SELECT *
FROM Table
WHERE NOT EXISTS (
SELECT 1
FROM Table
WHERE cmd <> 6
)