繁体   English   中英

MySQL 分组使用 group_concat 然后 Group BY

[英]MySQL Grouping using group_concat and then Group BY

我有一张这样的表:

在此处输入图片说明

基本上,我想对所有名称进行分组并给出此类分组的计数,例如:

在此处输入图片说明

因为有 2 个用户做饭和打扫,1 个洗衣服,4 个做饭。

我正在尝试使用 group_concat

SELECT group_concat(DISTINCT name) AS name, count(*)
FROM warehouse.test1
GROUP BY guid

但是,这不起作用,因为我需要按分组进行分组,然后对这些分组进行计数。

我不知道如何对分组进行分组,然后进行计数。

提前致谢,我感谢任何提醒!

更新根据我试过的答案

SELECT   groupings, COUNT(*)
FROM     (SELECT   group_concat(DISTINCT name) AS groupings
          FROM     warehouse.test1
          GROUP BY saguid) t
GROUP BY groupings;

但是,我把它理解为

# groupings, COUNT(*)
'cleaning,cooking', '2'
'cooking', '2'
'washing', '1'

烹饪不应该是 4 吗?

我会用另一个查询包装这个查询来计算分组数据:

SELECT   groupings, COUNT(*)
FROM     (SELECT   group_concat(DISTINCT name) AS groupings
          FROM     warehouse.test1
          GROUP BY saguid) t
GROUP BY groupings

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM