[英]Select Multiple Values SQL
我有一張表,數據如下
ID Classroom Person
1 1 Alfred
2 1 Maria
3 2 Maria
4 2 Zoe
5 2 Alfred
6 3 Nick
7 3 Paul
8 3 Mike
9 3 Alfred
10 4 Zoe
11 4 Maria
我只想選擇並返回僅具有“ Alfred”和“ Maria”作為“人”角色的教室,其內容如下:
Select * from table_name where (Person='maria') and (Person=Alfred')
似乎不起作用。
您可以在此處看到一個SQL Fiddle ,
您可以使用group by
並having
:
select classroom
from table t
group by classroom
having count(*) = 2 and
sum(person in ('maria', 'Alfred')) = 2;
假設一個人不能多次進入教室。
這將檢查教室中是否有兩個名稱,它們是否代表感興趣的兩個名稱。 如果可以重復,則需要:
having count(distinct name) = 2 and
count(distinct case when person in ('maria', 'Alfred') then person end) = 2;
嘗試這個。 Group by and having
與Count
工作。
SELECT Classroom
FROM tablename
WHERE Person IN( 'maria', 'Alfred' )
GROUP BY classroom
HAVING Count(Person) = 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.