SQL 查找从未有列值的 ID
SQL to find IDs which never had a column value
以下是我的数据:
ID
request_type
1
3
1
2
1
1
1
4
1
5
2
3
2
2
3
4
3
2
我需要一个查询来获取从未有过请求类型 1 的 ID(例如 来自之前 table 的 2,3)。
SELECT DISTINCT `ID`
FROM `my_table`
WHERE `ID` NOT IN (
SELECT DISTINCT `ID`
FROM `my_table`
WHERE `request_type` = 1
)
如果 1
是可能的最低值:
select ID
from tab
group by ID
having min (request_type) > 1
或更通用:
select ID
from tab
group by ID
having max(case when request_type = 1 then 1 else 0 end) = 0
有条件聚合:
select id
from tablename
group by id
having count(case when request_type = 1 then 1 end) = 0
以下是我的数据:
ID | request_type |
---|---|
1 | 3 |
1 | 2 |
1 | 1 |
1 | 4 |
1 | 5 |
2 | 3 |
2 | 2 |
3 | 4 |
3 | 2 |
我需要一个查询来获取从未有过请求类型 1 的 ID(例如 来自之前 table 的 2,3)。
SELECT DISTINCT `ID`
FROM `my_table`
WHERE `ID` NOT IN (
SELECT DISTINCT `ID`
FROM `my_table`
WHERE `request_type` = 1
)
如果 1
是可能的最低值:
select ID
from tab
group by ID
having min (request_type) > 1
或更通用:
select ID
from tab
group by ID
having max(case when request_type = 1 then 1 else 0 end) = 0
有条件聚合:
select id
from tablename
group by id
having count(case when request_type = 1 then 1 end) = 0