2013-04-07 66 views
-1

我試圖創建一個查詢,按描述對項目進行分組,然後對過去3個月的項目進行計數,每個月都有自己的列。最後我想實現的東西像下面這樣:如何計算每個項目的多個特定值?

 
    +-------------+------------+------------+--------------------+ 
    | Description | This Month | Last Month | The Previous Month | 
    +-------------+------------+------------+--------------------+ 
    | Item_1  |   4 |   3 |     5 | 
    | Item_2  |   3 |   0 |     2 | 
    | Item_3  |   1 |   3 |     5 | 
    +-------------+------------+------------+--------------------+ 
+0

你能指定更多信息?像DB工具等? – Undo 2013-04-07 01:32:44

回答

1
SELECT 
    "Description", 
    SUM(
     CASE 
     WHEN "Date" > NOW() THEN 0 
     WHEN "Date" > NOW() - INTERVAL 1 MONTH THEN 1 
     ELSE 0 
     END CASE 
    ) AS "This month", 
    SUM(
     CASE 
     WHEN "Date" > NOW() - INTERVAL 1 MONTH THEN 0 
     WHEN "Date" > NOW() - INTERVAL 2 MONTH THEN 1 
     ELSE 0 
     END CASE 
    ) AS "Last month", 
    SUM(
     CASE 
     WHEN "Date" > NOW() - INTERVAL 2 MONTH THEN 0 
     WHEN "Date" > NOW() - INTERVAL 3 MONTH THEN 1 
     ELSE 0 
     END CASE 
    ) AS "The previous month" 
FROM Items 
WHERE "Date" > NOW() - INTERVAL 3 MONTH 
GROUP BY "Description"