[英]MySQL - Return distinct IDs where all rows for the same ID do not have specific field value
[英]MySQL - How to return distinct IDs where all rows for the same ID have null field value
我有一個帶有兩個聯接的查詢,該查詢返回此數據:
ID分數
1空
1 5
1 6
2空
2空
3 5
3 8
3 3
3空
3空
3 7
4 NULL
4 NULL
4 3
4 9
我想為具有相同ID的每一行返回在Score列中具有NULL值的唯一ID。 在這種情況下,查詢應僅返回ID為2的一行,因為那是在Score列中唯一具有所有NULL值的ID。
謝謝!
您可以通過將原始查詢作為子選擇並在具有空值的score列上適當地使用count()
來匯總原始查詢,因此,如果特定ID
所有值均為NULL,則count將返回0,因此可以使用having
子句過濾您的使用count(Score)
結果的結果count(Score)
select ID,
count(Score) count_null
from (your query)t
group by ID
having count_null = 0
演示基於您的樣本數據集
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.