gpt4 book ai didi

mysql - 求每天的平均值,如果当天没有记录则取最新的

转载 作者:行者123 更新时间:2023-11-30 00:31:39 25 4
gpt4 key购买 nike

我不确定该图 block 是否正确或具体。

我有一个如下所示的表格:

2013-01-01
a: 100

2013-01-02
b: 50

2013-01-03
c: 75
b: 200

其中“a、b、c”用户 ID。

我需要一个将返回的查询:

2013-01-01
100 / 1 = 100

2013-01-02
(100 + 50) / 2 = 75

2013-01-03
(100 + 200 + 75) / 3 = 125

[[2013-01-01, 100], [2013-01-02, 75], [2013-01-03, 125]]

似乎在某个特定日期我可以这样做:

SELECT AVG(column1) FROM table a 
JOIN (
SELECT MAX(date) AS max_date, user_id FROM table
WHERE date < "2013-09-01" GROUP BY user_id) b
ON b.user_id = a.user_id AND a.date = b.max_date;

但是,我有一个可以按日、周、月或年分割的间隔: ['2013-01-01', '2013-01-02',... '2014-01-01'] (连续)

有没有更快的方法来实现这一点,而不是在 100 天的时间间隔内运行 100 个查询?

sqlfiddle:http://sqlfiddle.com/#!2/d74fa/2

期望的结果:将返回的单个查询

2013-01-01, 100
2013-01-02, 75
2013-01-03, 125

最佳答案

如果您需要每日平均值,则必须使用:

SELECT AVG(value)
FROM readings r
GROUP BY(date);

我不确定您为什么要在分析描述中计算截至当天的平均值。

关于mysql - 求每天的平均值,如果当天没有记录则取最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465882/

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