gpt4 book ai didi

sql - 在 MySQL 中将 SUM 和 AVG 与 GROUP BY 相结合

转载 作者:行者123 更新时间:2023-11-30 21:23:38 25 4
gpt4 key购买 nike

我不确定这是否可以在单个查询中实现,但我正在尝试使用 MySQL 实现以下目标,但尚未找到解决方案。

我有一个结构有点像这样的表:

 ID     LOG_VALUE   LOG_TIME     

  1        5000     19:05:42   
2 6205 19:05:45
3 1000 19:05:40
1 5000 19:05:52
2 6403 19:05:55
3 1500 19:05:50
1 5000 19:06:02
2 6403 19:06:05
3 1500 19:06:00

行以固定的时间间隔(即每 10 秒)插入到此日志表中。我想查询记录以计算每分钟的组合平均 log_value。

我遇到的问题是,我不确定如何计算每个 ID 每分钟的平均值,以及任何给定分钟的平均值之和,只能计算一个或另一个。

基本上我想实现这个过程:

  • 找出 19:05 中 ID 1 的所有日志的平均值
  • 找出 ID 2 在 19:05 的所有日志的平均值
  • 找出 19:05 中 ID 3 的所有日志的平均值
  • 将平均值相加得到 19:05 的总数
  • 在 19:06 做同样的事情

下面的 SQL 没有执行我想要的操作,但我已包含它以帮助解决问题。

SELECT ROUND(AVG(log_value)) AS average_value, EXTRACT(HOUR_MINUTE FROM log_time)
FROM (`logs`)
GROUP BY MINUTE(log_time), id
ORDER BY log_time DESC

感谢您提供的任何帮助。

最佳答案

尝试跟随

SELECT 
ROUND(AVG(log_value)) AS average_value,
EXTRACT(HOUR_MINUTE FROM log_time),
id
FROM (`logs`)
GROUP BY
EXTRACT(HOUR_MINUTE FROM log_time), id
ORDER BY
log_time DESC

关于sql - 在 MySQL 中将 SUM 和 AVG 与 GROUP BY 相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430051/

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