表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 :(得分: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