gpt4 book ai didi

Mysql查询在日记上建立组日期

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

我有一个包含 day_date 和价格的表格,每条记录显示如下:

Day_date   Price
2012-05-20 500
2012-05-21 500
2012-05-22 500
2012-05-23 600
2012-05-24 600
2012-05-25 500
2012-05-26 500
2012-05-27 700
2012-05-28 700

我想要做的是显示如下:

season 2012-05-20 to 2012-05-22 price 500
season 2012-05-23 to 2012-05-24 price 600
season 2012-05-25 to 2012-05-26 price 500
season 2012-05-27 to 2012-05-28 price 700

我尝试使用下面的查询来执行此操作:

SELECT min(day_add) as start_date, max(day_add) as end_date, price 
FROM table GROUP BY price

通过此查询,我得到以下结果:

2012-05-20  2012-05-26  500
2012-05-23 2012-05-24 600
2012-05-27 2012-05-28 700

如您所见,比较后我想要做的是,第一个带有 price=500 的记录应该是 2012 年 5 月 20 日至 22 日,然后第三名应该是 5 月 25 日至 26 日,即价格=500

由于我按价格分组,因此将季节从 2012 年 5 月 25 日缩短至 26 日。

是否可以执行SELECT来获得我想要的结果?

谢谢

最佳答案

问题不在于查询本身,而在于数据,因为没有可分组依据的值。您所要做的就是创造新的值(value)。

你可以这样做:

select min(day_date) minDate, max(day_date) maxDate, price from (
select day_date, @row := @row + (@price != price) grp, @price := price price
from t, (select @row := 0, @price := '') init
order by day_date
) final
group by final.grp, price

这里有fiddle一起玩。

关于Mysql查询在日记上建立组日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353037/

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