MySQL:GROUP_CONCAT列及其计数

时间:2014-10-07 10:50:08

标签: mysql group-concat

我有一个customer_status表,其中列" id"是唯一的,cust_id是客户ID 和"状态"是客户的当前状态。

表格如下:

id       cust_id       status
1          1            NEW
2          2            NEW
3          1            VIEWED
4          1            NEW
5          1            VIEWED
6          1            NEW

现在我的要求是显示每个客户的状态和状态计数。

例如,考虑cust_id = 1,则输出应为:

NEW : 3
VIEWED : 2

我尝试使用group_concat,但显示状态和状态计数无法成功,用冒号分隔。

请帮帮我。

3 个答案:

答案 0 :(得分:2)

我认为如果没有group_concat,你可以得到你想要的东西:

SELECT status, COUNT(status) FROM customer_status WHERE cust_id = 1 GROUP BY status

答案 1 :(得分:0)

试试这个:

select count(status),status from customer_status where cust_id=1 group by status

答案 2 :(得分:0)

您可以使用CONCAT:

select CONCAT(status,':',count(status)) from customer_status as result where cust_id = 1 group by status;