0
我有一个大型数据库,其中包含去年4月份的温度值,我使用JPGraph(以及过去2天,上周等的不同图表)显示了所有数据库。由于有很多值,图形看起来不太好,我想在整个期间内均匀分布50个值。从MySQL表中获取特定数量的值
我知道我可以得到数据库(x)中的总行数,将该数除以50(x/50 = n),然后得到每第n行。
是否有MySQL查询可以更高效地执行此操作?
谢谢!
我有一个大型数据库,其中包含去年4月份的温度值,我使用JPGraph(以及过去2天,上周等的不同图表)显示了所有数据库。由于有很多值,图形看起来不太好,我想在整个期间内均匀分布50个值。从MySQL表中获取特定数量的值
我知道我可以得到数据库(x)中的总行数,将该数除以50(x/50 = n),然后得到每第n行。
是否有MySQL查询可以更高效地执行此操作?
谢谢!
这里是@ CBroe的建议的实现:
select *
from (
select @row:[email protected]+1 row_num, a.*
from mytable a
join (select @row:=0) b) a
where row_num % 50 = 0;
也许使用[用户变量,以产生一个行索引(http://stackoverflow.com/questions/13550750/how-to-add-row -index-as-a-column-to-sql-select-query),然后通过在WHERE子句中对该行索引执行模检查来选择每第n行... – CBroe