我试图找出并得出结论,分区应该用于此任务。但是,我以前从未使用过它。
我有一张表:
id status
1 3
2 1
1 4
3 2
3 3
1 5
我想得到所有不具有状态为5的ID的列表。请帮助!!
答案 0 :(得分:2)
SELECT ID
FROM table_name
GROUP BY ID
HAVING COUNT( CASE status WHEN 5 THEN 1 END ) = 0
答案 1 :(得分:0)
尽可能简单,我认为这对你有用。您的示例可能更具体,因此我希望您正在尝试这样做。
SELECT DISTINCT id
FROM table_name
WHERE id NOT IN (SELECT id FROM table_name WHERE status = 5);
答案 2 :(得分:-1)
您不需要分区来执行此任务。你所要做的就是 从中选择ID 状态不在('5')