我有一个表,其中每一行都包含一个值和一个日期时间。它有数十万行。我想选择最高(最大)值每 n 行。
我以前曾使用查询来每小时获取最高值,但这并不是我要找的:
SELECT datetime, MAX(value)
FROM `table`
GROUP BY date_format(datetime, '%Y-%m-%d &h')
如有任何建议,我们将不胜感激!
最佳答案
您可以枚举行,然后聚合到您心中的愿望:
select min(rn), max(rn), min(datetime), max(datetime), max(value)
from (select t.*, (@rn := @rn + 1) rn
from `table` t cross join
(select @rn := 0) params
order by datetime
) t
group by floor((rn - 1) / @n)
order by min(rn);
关于mysql - 检索每 n 行的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483585/