gpt4 book ai didi

mysql - CONCAT() inside GROUP_CONCAT() with count

转载 作者:太空宇宙 更新时间:2023-11-03 11:26:02 26 4
gpt4 key购买 nike

我试图在 MySQL 中使用 group_concat、concat 和 count 函数获得结果,但它给了我错误。这是我的 table

enter image description here

首先,当我尝试使用 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

感谢您的帮助。

最佳答案

您不能嵌套聚合函数(count()group_conat() 的参数中)。一种解决方案是从嵌套子查询中进行选择。

SELECT group_concat(status, ':', count SEPARATOR ',') rowstring
FROM (SELECT status,
count(*) count
FROM mytable
GROUP BY status) x;

关于mysql - CONCAT() inside GROUP_CONCAT() with count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54278934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com