我想我没有得到搜索结果,因为我在输入标题时遇到了麻烦。
我的桌子看起来像这样:
Name Element City
Design Inc 51024 New York
Plant Corp 51024 Chicago
Energy Ltd 9665 Boston
如果我写
Select Name, Element, City
From Table
Where City = 'New York'
基于Element,这里是相同的值,我希望输出为
个
For New York
Name = 2
Element = 1
与芝加哥相同的输出。我在where子句中遇到麻烦,因为显然如果我将=放到城市中,我得到的只是一行。
谢谢
答案 0 :(得分:1)
您需要GROUP BY
子句:
SELECT COUNT(Name) AS Name_count, COUNT(DISTINCT Element) AS Element_count
FROM Table t
WHERE City = 'New York'
GROUP BY Element;
答案 1 :(得分:0)
您可以使用EXISTS
来获取element
与城市所在的纽约相同的所有行。然后使用count()
进行计数。
SELECT count(DISTINCT t1.name),
count(DISTINCT t1.element)
FROM elbat t1
WHERE EXISTS (SELECT *
FROM elbat t2
WHERE t2.element = t1.element
AND t2.city = 'New York');