我正在尝试按升序排序获取每个城市的Count of Count。但是我得到错误,因为子查询返回多行。
例如:一张表包含所有城市,州和密码。在另一个表中,我们将列出具有相应城市的用户记录。因此,我试图将每个城市的用户数量计算在内。
EG:表A
City State Pincode
ABC TN 600001
ABD TN 600001
ABE KA 500001
ABF KA 500002
ABG KA 500003
CDE KL 500004
CDF KL 500004
表B
Userid Answer
1 ABC
2 ABC
3 ABD
4 ABD
5 ABD
6 ABD
7 ABE
8 ABE
9 ABD
10 ABC
Sql Query:
SELECT count(a.answer) from table b as a where a.answer=(select distinct(b.city) from table a as b);
所以我得到子查询返回多行。任何人都可以帮我解决这个问题,对学习SQL查询会很有帮助。
答案 0 :(得分:0)
试试这个
select count(*) as cityCount, answer
from B inner join A on B.answer = A.city group by answer
答案 1 :(得分:0)
我认为你不明白如何使用AS
关键字:它是为了制作别名,这里你不需要。
您正在寻找GROUP BY
声明
如果您想要所有城市信息+城市的答案数量,您可以这样做:
SELECT count(b.Answer) as count_answer, City, State, Pincode
FROM table b join a on a.City=b.Answer
GROUP BY City
有关详细信息,请参阅mysql文档;)