gpt4 book ai didi

mysql - 将不同计数显示为每个返回值的单独列

转载 作者:行者123 更新时间:2023-11-30 22:19:56 25 4
gpt4 key购买 nike

表1(包含订单来源类型信息)

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

Table2(包含订单信息)

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

我花了很多时间试图弄清楚,但想不出更好的办法。问题是源的数量是动态的。

最佳答案

你可以使用 case 和 group by

 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

关于mysql - 将不同计数显示为每个返回值的单独列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com