gpt4 book ai didi

mysql - 在MYSQL中选择最新输入的记录

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

我有一个要求,我需要为所有经销商的月份范围选择平均记录。但是这里的条件是,如果一个经销商没有特定月份的记录,那么应该选择他的最新记录并添加到当月。

要求是:选择 3 月和 7 月之间所有经销商的平均值。

我写的条件只取所有经销商一个月的平均值,不考虑最新输入的记录。请告诉我在这里可以做什么。

我的SQL:

select avg(dealer_score), month(end_time) as month from dealers where end_time>='2015-03-01' and end_time <= '2015-07-01 23:59:59' group by month(end_time)

电流输出

dealer_score | month
30 | March
90| July

期望的输出

dealer_score | month
30% | March
30% | April
30% | May
30% | June
90% | July

经销商表中的记录

dealer_id| dealer_name| dealer_score| end_time
1| abc| 30| '2015-03-01 20:00:00 00:00:00'
2| xyz| 30| '2015-03-01 21:00:00 00:00:00'
3| ABC| 90| '2015-07-01 23:00:00 00:00:00'
4| XYZ| 90| '2015-07-01 23:15:00 00:00:00'

最佳答案

如果你只想延长所有五个月的记录,你可以这样做:

select mon.mon,
(if(@a2 := @a,
if(@a := coalesce(avgds, @a), @a2, @a2), avgds)
) as avgds
from (select 3 as mon union all select 4 union all select 5 union all
select 6 union all select 7
) mon left join
(select month(end_time) as mon, avg(dealer_score) as avgds
from dealer
group by month(end_time)
) d
on d.mon = m.mon cross join
(select @a := 0) params
order by mon;

关于mysql - 在MYSQL中选择最新输入的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31305954/

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