我正在寻找一种方法来使用group_concat并同时计数...我想要有这样的结果
红色,红色,红色,红色,蓝色,蓝色,蓝色,蓝色,蓝色
完成后结束这样
“红(4),蓝(5)”
有什么建议吗?
答案 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'