簡體   English   中英

如何獲得每組concat字段的總數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM