gpt4 book ai didi

mysql - SQL:分别按过去 3 个月和过去 5 个月分组

转载 作者:行者123 更新时间:2023-11-29 02:39:54 25 4
gpt4 key购买 nike

根据不同时间段的销售额表,我尝试计算 2 个不同时间段的汇总值:(1) 销售日期 > '2018-11-26' 和 (2) 销售日期 > '2018-09-26'

create table revenue (sales float, date_time datetime) 
insert into revenue (sales,date_time) values (300, '2018-09-01')
insert into revenue (sales,date_time) values (200, '2018-10-01')
insert into revenue (sales,date_time) values (300, '2018-11-01')
insert into revenue (sales,date_time) values (400, '2019-01-01')
insert into revenue (sales,date_time) values (500, '2019-02-01')

我见过其他使用 case when 时间段的解决方案,但在这种情况下的区别在于时间段不是相互排斥的。

我想要的查询应该像这样工作:

select sum(sales) from revenue
group by date_time where date_time > '2018-11-26',
date_time where date_time > '2018-09-26'

最佳答案

你可以使用 union all

select 'p1' as prd , sum(sales) from revenue
where date_time >= '2018-11-26'

union all
select 'p2', sum(sales) from revenue
where date_time > '2018-09-26'

或者你可以使用case when

select case when date_time >= '2018-11-26' then 'p1'
when date_time > '2018-09-26'
then 'p2' end as period, sum(sales) from revenue
group by case when date_time >= '2018-11-26' then 'p1'
when date_time > '2018-09-26'
then 'p2' end

关于mysql - SQL:分别按过去 3 个月和过去 5 个月分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54891644/

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