sql请求中的合并日期?

yv5phkfx  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(391)

这就是上下文:我想得到每天两个储备的平均含量。它们一天记录几次,并插入db in event_param列。有可能有一天第二笔储备没有用上。因此我们没有关于储量的数据。这就是问题所在。
我给您提供了我正在执行查询的表结构:

我的问题是:

SELECT * FROM 
(SELECT cast(event_datetime as date) as day, event_param_2 as R1, AVG(event_param_3) as ContentR1
FROM events
WHERE upcNameId = 'Name'
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND event_code IN(52,53,54)
AND event_param_2 = 1  
GROUP BY cast(event_datetime as date)
ORDER BY cast(event_datetime as date)asc) as r1reservecontent,
(SELECT cast(event_datetime as date) as day, event_param_2 as R2, AVG(event_param_3) as ContentR2
FROM events
WHERE upcNameId = 'Name'
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND event_code IN(52,53,54)
AND event_param_2 = 2
GROUP BY cast(event_datetime as date)
ORDER BY cast(event_datetime as date)asc)as r2reservecontent

如你所见,我分组并平均每天为每个储备。结果如下:

但这不是我想要的。我想只有一个与内容分隔为每一天的一天专栏。r1或r2未给出的天数等于最后记录的内容。
我知道这是一个复杂的问题,很难解决当你只有这些信息,但它会很好,如果你能帮助我请。

这是来自表事件的一些示例数据。event_param_2=储备数量(=1或2)event_param_3=含量(kg)

tkclm6bt

tkclm6bt1#

我通过执行sql存储过程解决了这个问题

相关问题