我的数据库表中有以下数据,因为我对MYSQL很新,我在查询时遇到问题给我以下输出
City Subject
london english
toronto math
london math
london math
toronto english
toronto english
只能有两门科目,英语或数学科目。我试图以这种方式输出数据,首先查询应该选择city列中的所有不同项。然后告诉我那个城市每个科目的数量。
输出
city English Math
london 1 2
toronto 2 1
我尝试过分组,但由于我不太了解mysql,我意识到它只是将主题组合在一起并在分组时吃掉了城市。
答案 0 :(得分:1)
试试这个:
SELECT city,
SUM(IF(subject='english',1,0)) AS English,
SUM(IF(subject='math',1,0)) AS Math
FROM foo
GROUP BY city;