我一直在使用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
该任务是连接或分组一个城市报告的所有疾病,然后计算每个城市每种疾病的报告数量。我知道这听起来毫无用处,但它只作为一项任务交给我,而且我迷失了。
答案 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;