Mysql 按最新值sql分组
我有一个如上所述的数据框架,当更多数据可用时,预测会在特定日期持续出现 我想分别获得每个对象和组的需求和供应在特定日期的最新预测值Mysql 按最新值sql分组,mysql,sql,Mysql,Sql,我有一个如上所述的数据框架,当更多数据可用时,预测会在特定日期持续出现 我想分别获得每个对象和组的需求和供应在特定日期的最新预测值 Forecast date date Value Object Demand or supply 01-01-2016 00:30 12-10-2019 00:00 85 Ice-cream Demand 04-07-2018 02:59 26-12-2019 00:00 83
Forecast date date Value Object Demand or supply
01-01-2016 00:30 12-10-2019 00:00 85 Ice-cream Demand
04-07-2018 02:59 26-12-2019 00:00 83 Crisps Supply
07-08-2018 03:25 29-02-2020 00:00 50 Juice Demand
29-10-2018 03:25 09-05-2020 00:00 76 Juice Supply
25-02-2019 03:25 07-08-2020 00:00 74 Juice Demand
01-07-2019 03:25 11-10-2020 00:00 69 Crisps Demand
17-10-2019 03:25 17-12-2020 00:00 77 Meal Supply
06-01-2020 03:25 29-03-2021 00:00 87 Eggs Demand
期望输出
Logic-
-Latest forecast date for each date value and object
- Group demand/supply and object with Date desc
因此,为了使日期栏中的条目更加清晰
-我希望该值是最新预测日期中的值。
-然后按需求/供应对表进行分组,然后按对象分组,最后按日期分组,从而在需求/供应端为每个对象获取相应的时间序列值
@草莓添加了MRE和一个解释,很抱歉没有早点做!我看不出来。嗨,戈登,你能看看这个问题的编辑吗
Forecast Date Date Demand or supply Object Value
01-01-2020 01-11-2021 Demand Ice-Cream 60
01-01-2020 01-10-2021 Demand Ice-Cream 80
01-01-2020 01-09-2021 Demand Crisps 70
01-01-2020 01-08-2020 Supply Crisps 70
01-11-2019 01-07-2020 Supply Crisps 85
01-11-2019 01-06-2020 Supply Crisps 80
select t.*
from (select t.*,
row_number() over (partition by object, demand_group, date order by forecast_date desc) as seqnum
from t
) t
where seqnum = 1;