[英]How to get total count of each group concat fields?
我有一个名为'activity_data'
表
表包含以下字段
id int(11),
sports_name varchar(20),
activity_date datetime
activity_data
表的信息
id sports_name activity_date
1 Cricket 2015-05-12
2 Football 2015-05-12
3 Cricket 2015-06-10
4 Basketball 2015-06-08
5 Khokho 2015-06-02
6 Kubbdi 2015-06-04
7 Cricket 2015-05-12
8 Kubbdi 2015-05-12
9 Cricket 2015-06-09
10 Football 2015-06-03
现在我执行以下查询
SELECT GROUP_CONCAT(id) id ,GROUP_CONCAT(DISTINCT(sports_name)) sports_name,activity_date FROM filter_activity_data WHERE activity_date BETWEEN '2015-05-12' AND '2015-06-04' GROUP BY activity_date ORDER BY activity_date ASC
执行此操作时:输出就是这样的
id sports_name activity_date
1,2,7,8 Cricket,Football,Kubbdi 2015-05-12
5 Khokho 2015-06-02
10 Football 2015-06-03
6 Kubbdi 2015-06-04
我想得到每个GROUP_CONCAT sports_name
输出总数。 预计会这样:
id sports_name activity_date
2,1,1 Cricket,Football,Kubbdi 2015-05-12
1 Khokho 2015-06-02
1 Football 2015-06-03
1 Kubbdi 2015-06-04
如何实现这一目标?
嘿使用以下查询它可能会帮助你
select GROUP_CONCAT(t.name1) as name2 , GROUP_CONCAT(t.count) as counts , t.activity_date from
(SELECT GROUP_CONCAT(id) id ,GROUP_CONCAT(DISTINCT(sports_name)) as name1 , count(*) as count , sports_name,activity_date FROM activity_data WHERE activity_date BETWEEN '2015-05-12' AND '2015-06-04' GROUP BY activity_date, sports_name ORDER BY activity_date ASC) as t
group by t.activity_date
此查询为您提供准确的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.