2016-04-29 51 views
1

表1(包含順序源類型信息)顯示重複計數爲每個值單獨的列返回

id | name 
--------- 
0 | App 
1 | Web 

表2(包含一個訂單信息)

order_id | date_ordered | source_id 
    0  | 24/04/2016 | 0 
    1  | 24/04/2016 | 1 
    2  | 23/04/2016 | 0 
    3  | 23/04/2016 | 1 
    4  | 23/04/2016 | 0 
    5  | 22/04/2016 | 1 
    6  | 22/04/2016 | 0 

我想顯示從每個訂單的計數在給定日期的來源

Date  | Source Count 0 | Source Count 1 
24/04/2016 |  1  |  1 
23/04/2016 |  2  |  1 
22/04/2016 |  1  |  1 

查詢我想出了一直到現在:

SELECT 
    date_ordered, 
    count(distinct), 
FROM `event` 
INNER JOIN `Table1` 
    ON `id` = `Table2`.`source_id` 
GROUP BY date_ordered 
ORDER BY date_ordered desc 

我花了很多時間試圖弄清楚,並沒有提出任何更好的。問題是源的數量是動態的。

回答

0

您可以通過

select date_ordered, 
case when source_id = 0 then sum(source_id) 
END as 'Source Count 0',  
case when source_id = 1 then sum(source_id) 
END as 'Source Count 1' 
group by date_ordered 
+0

使用情況和組,這將是一件好事,如果來源是靜態的。預執行查詢我不知道表中可能有多少個源。 –

相關問題