使用Group_concat连接行和列

时间:2015-01-25 20:04:20

标签: mysql

我一直在使用group concat和concat来连接行或列。但是,我想现在连接两个列数据以及如下的行:

从这些给定的表格中

id  disease     domain
--  -------    --------
1   Typhoid     Davao City
2   Pox         Davao City
3   Dengue      Manila City

我希望sql输出:

disease                 domain
-------              --------------
Typhoid: 1, Pox: 1   Davao City
Dengue: 1            Manila City

该任务是连接或分组一个城市报告的所有疾病,然后计算每个城市每种疾病的报告数量。我知道这听起来毫无用处,但它只作为一项任务交给我,而且我迷失了。

1 个答案:

答案 0 :(得分:0)

SELECT GROUP_CONCAT(CONCAT_WS(' ',disease,total))
     , domain 
  FROM 
     ( SELECT disease
            , domain
            , COUNT(*) total 
         FROM my_table 
        GROUP  
           BY domain
            , disease
     ) x 
 GROUP 
    BY domain;