我有一个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,但显示状态和状态计数无法成功,用冒号分隔。
请帮帮我。
答案 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;