这就是上下文:我想得到每天两个储备的平均含量。它们一天记录几次,并插入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)
1条答案
按热度按时间tkclm6bt1#
我通过执行sql存储过程解决了这个问题