如何使用group_concat并计算其中的每条记录?

时间:2013-06-25 11:21:28

标签: mysql group-concat

我正在寻找一种方法来使用group_concat并同时计数...我想要有这样的结果

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

完成后

结束这样

“红(4),蓝(5)”

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

SELECT
GROUP_CONCAT(x.groups)
FROM
(
    SELECT
    CONCAT(color, '(', count(color), ')') AS groups
    FROM colors
    GROUP BY color   
) x

答案 2 :(得分: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'