2013-05-03 40 views
-1

我的數據表如下:將查詢轉換爲不同的列和其他列計數數組的MySQL查詢?

ID WEEK RESULT 
1 13  GOOD 
2 13  BAD 
3 13  GOOD 
4 13  WORST 
5 14  GOOD 
6 14  BAD 
7 14  WORST 
8 15  BAD 
9 15  WORST 

我需要一個SQL查詢來創建一個數組如下:

WWEK GOOD_RESULT BAD_RESULT WORST_RESULT TOTAL 
13   2    1  1    4 
14   1    1  1    3 
15   0    1  1    2 

誰能幫我找到合適的MySQL查詢?

+0

你是什麼意思的數組?此問題與您以前的問題非常相似 - http://stackoverflow.com/questions/16365894/mysql-query-to-select-a-distinct-column-and-the-count-of-a-value-in -another-colu如果您需要更多列,那麼您將添加額外的案例/聚合。你是否需要將這些數據返回給你的應用程序?請說明你需要什麼。 – Taryn 2013-05-03 19:44:40

+0

這些鏈接可能會有所幫助:http://stackoverflow.com/questions/3480803/pivot-unpivot-tables-mysql http://stackoverflow.com/questions/7674786/mysql-pivot-table – Melanie 2013-05-03 19:45:30

回答

0
SELECT 
    WEEK, 
    SUM(RESULT='GOOD') As GOOD_RESULT, 
    SUM(RESULT='BAD') As BAD_RESULT, 
    SUM(RESULT='WORST') AS WORST_RESULT, 
    COUNT(*) As TOTAL 
FROM YourTable 
GROUP BY 
    WEEK 

請參閱小提琴here