gpt4 book ai didi

php - MySQL 平均每 4 行

转载 作者:行者123 更新时间:2023-11-29 01:45:51 25 4
gpt4 key购买 nike

我有一个 1000 万行以上的表,如下所示:

    id | time_read  | value
-----------------------
9 1111111111 100
9 1111111222 200
9 1111111333 150
9 1111111444 225

我想计算每 4 行的平均值。我如何在 MySQL 中执行此操作?

此外,除了我的问题之外,如果我想对一个月内所有数据的每 4 行的值取平均值并在表中返回每年每个月的总数,我该怎么做?例如,在我的第一个问题中使用同一个表,结果是:

    2008 | 12 | 500000
2009 | 01 | 450000
2009 | 02 | 475000

edit:换句话说,每个平均 4 行的总和按年月分组。每次 time_read 间隔 15 分钟。

我以前做过类似的事情,但不够准确。我需要对每 4 行进行平均并计算总和,而不是将一个月内所有值的总和除以 4。

    SELECT DATE_FORMAT(FROM_UNIXTIME(time_read),'%Y %m') as tr,  
DATE_FORMAT(FROM_UNIXTIME(time_read),'%Y') as year,
DATE_FORMAT(FROM_UNIXTIME(time_read),'%m') as month, SUM(value) as value
FROM table WHERE id = 9
GROUP BY tr

最佳答案

如果您不想依赖您的“id”列(它可能不是顺序的),您可以创建自己的变量来分组,每 4 行更改一次,如下所示:

SET @rank = 0;
SELECT AVG(value), CEIL((@rank:=@rank+1)/4) AS rank FROM "your_table" GROUP BY rank;

关于php - MySQL 平均每 4 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997814/

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