mysql - MySQL 分组使用 group_concat 然后 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
推荐阅读
- c# - 如何以编程方式将文件添加到从 Windows 窗体到网页的文件上传控件
- reactjs - 无法在 React Hook 中映射异步获取请求的结果
- java - Dockerize 一个 Web 应用程序 (WAR) 是一个好习惯吗?
- java - 使用 JOOQ 生成动态查询
- sqlite - 为什么 Room 强制 foreignKeys 为 NOTNULL(迁移未正确处理)
- lingo - Lingo/Loops 将变量字符串转换为数组
- javascript - 如何在连接到我的 sql 的反应表 crud 中添加 2 个箭头,一个顶部箭头按钮和一个底部箭头按钮?
- arrays - 从 for 循环设置值后的空数组 [索引 0 超出范围,数组大小为 0。] [松树脚本]
- node.js - Vaadin 前端构建可重现地挂在 pnpm 安装中
- java - 不知道如何为我的 Java 版本安装 JavaFX