2

我正在寻找一种同时使用 group_concat 和计数的方法......我希望得到这样的结果

红色,红色,红色,红色,蓝色,蓝色,蓝色,蓝色,蓝色

完成后变成这样

“红色(4),蓝色(5)”

有什么建议么?

4

3 回答 3

3

使用子查询:concat(field, count(*)),然后group_concat()相应地使用。

于 2013-06-25T11:25:08.037 回答
1
SELECT
GROUP_CONCAT(x.groups)
FROM
(
    SELECT
    CONCAT(color, '(', count(color), ')') AS groups
    FROM colors
    GROUP BY color   
) x
于 2013-06-25T11:32:45.957 回答
0
SELECT GROUP_CONCAT(CONCAT(color, '(', amount, ')') SEPARATOR ',') AS color_with_amount
FROM (  SELECT color, COUNT(*) AS amount
        FROM colors
        GROUP BY color) AS h
GROUP BY '1'
于 2013-06-25T11:39:46.013 回答