首页 文章

子查询返回多行 - Mysql

提问于
浏览
0

我正试图以升序排序获取每个城市的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查询:

SELECT count(a.answer) from table b as a where a.answer=(select distinct(b.city) from table a as b);

所以我得到子查询返回多行 . 有人帮我解决这个问题,对学习SQL查询会很有帮助 .

2 回答

  • 0

    试试这个

    select count(*) as cityCount, answer 
    from B inner join A on B.answer = A.city group by answer
    
  • 0

    我想你不明白如何使用 AS 关键字:这里需要's to make alias, what you don' .

    你正在寻找 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文档;)

相关问题