2012-06-27 215 views
1

如何在此查詢中應用GROUP_CONCAT如何在mysql中應用GROUP_CONCAT查詢

查詢

SELECT WEEK(cpd.added_date) AS week_no,COUNT(cpd.result) AS death_count 
FROM cron_players_data cpd WHERE cpd.player_id = 81 
AND cpd.result = 2 AND cpd.status = 1 
GROUP BY WEEK(cpd.added_date); 

查詢輸出結果屏幕

enter image description here

結果所需

23,24,25 AS week_no 2,3,1 AS death_count 

回答

3

試試這個

select 
    group_concat(t.week_no) as Weeks, 
    group_concat(t.death_count) as DeathCounts 
from (SELECT 
    WEEK(cpd.added_date) AS week_no, 
    COUNT(cpd.result) AS death_count 
     FROM cron_players_data cpd 
     WHERE cpd.player_id = 81 
     AND cpd.result = 2 
     AND cpd.status = 1 
     GROUP BY WEEK(cpd.added_date)) as t 
1

這個怎麼樣替代解決方案:

查詢

select group_concat(week_no) as week_no, group_concat(death_count) as death_count 
from (
    SELECT WEEK(cpd.added_date) AS week_no,COUNT(cpd.result) AS death_count 
    FROM cron_players_data cpd WHERE cpd.player_id = 81 
    AND cpd.result = 2 AND cpd.status = 1 
    GROUP BY WEEK(cpd.added_date) 
) grouped_data 
;