mysql分组不同的查询

时间:2014-03-26 00:44:03

标签: mysql oracle distinct grouping

我的数据库表中有以下数据,因为我对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,我意识到它只是将主题组合在一起并在分组时吃掉了城市。

1 个答案:

答案 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;