检索每n行的最高值

时间:2016-04-07 17:46:29

标签: mysql sql

我有一个表,其中每行包含一个值和一个日期时间。它有数十万行。我想选择最高(最大)值每n行

我之前使用过查询来获取每小时最高的值,但这不是我想要的:

SELECT datetime, MAX(value)
FROM `table` 
GROUP BY date_format(datetime, '%Y-%m-%d &h')

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

您可以枚举行,然后汇总到您心中的愿望:

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);