【发布时间】:2019-06-14 04:36:11
【问题描述】:
我试图在 MySQL 中使用 group_concat、concat 和 count 函数获得结果,但它给了我错误。 这是我的桌子
首先,当我尝试使用 concat 获取计数和状态时,它工作正常。
$query="SELECT CONCAT(`status`,':',count(status)) FROM `mytable` GROUP BY status"
输出:
保持:2
已完成:3
已取消:2
到这里为止一切都很好。现在我想要这一行输出。所以我尝试使用 GROUP_CONCAT()。
$query="SELECT GROUP_CONCAT(CONCAT(`status`,':',count(status)) SEPARATOR ',') as rowString FROM `mytable` GROUP BY status"
但现在它给了我错误“组函数的使用无效”
注意:如果我将 count(status) 替换为表中的其他字段(没有计数),则相同的查询会起作用。 count() 函数在以这种方式使用时会导致一些问题。
期望的输出
保持:2,完成:3,取消:2
感谢您的帮助。
【问题讨论】:
-
简单地说你不能像这样
GROUP_CONCAT(COUNT())嵌套anny aggregate (GROUP BY) functions .. 我建议阅读Why should I provide an MCVE for what seems to me to be a very simple SQL query? 并将表格数据提供为文本格式的数据(无图像)和预期结果。 -
谢谢布拉巴罗斯
标签: mysql sql concat group-concat