我有一张这样的桌子:
基本上,我想对所有名称进行分组,并给出此类分组的计数:
由于有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?
答案 0 :(得分:1)
我将这个查询与另一个查询包装在一起,以对分组的数据进行验证:
SELECT groupings, COUNT(*)
FROM (SELECT group_concat(DISTINCT name) AS groupings
FROM warehouse.test1
GROUP BY saguid) t
GROUP BY groupings