假設如下表:如何找到行,其中同一列只有同另一列
Name Age Occupation
Alex 20 Student
Alex 20 Seller
Alex 20 Minister
Liza 19 Student
Liza 20 Volunteer
Liza 21 HR partner
我想找到具有唯一(只)20年齡列名。所以從這張桌子我想要所有「亞歷克斯」行,並沒有「麗莎」行。 謝謝!
假設如下表:如何找到行,其中同一列只有同另一列
Name Age Occupation
Alex 20 Student
Alex 20 Seller
Alex 20 Minister
Liza 19 Student
Liza 20 Volunteer
Liza 21 HR partner
我想找到具有唯一(只)20年齡列名。所以從這張桌子我想要所有「亞歷克斯」行,並沒有「麗莎」行。 謝謝!
您需要使用Group By
和Having
子句。試試這個方法只
select Name
from table
group by Name
having count(case when Age = 20 then 1 end) = count(*)
count(case when Age = 20 then 1 end)
計數時age = 20
如果它等於總數則名只有20
年齡。使用NOT IN()
方式一:
SELECT Name, Age, Occupation
FROM YourTable
WHERE Age = 20
AND Name NOT IN (SELECT Name FROM YourTable WHERE Age <> 20)
另一種正確的方法。謝謝! –
只要一另一種方式:
select Name
from table
group by Name
having min(Age) = 20 and max(Age) = 20
完美的作品。謝謝! –