解决方案 »

  1.   

    你可以order by rand() limit n
    不过可能效率会有点问题。
      

  2.   

    那自定义个顺序列,然后根据列号取数据set @rowno := 0;
    select * from (
    select (@rowno := @rowno +1) as rowno,valx,valy from record where datetime>start and datetime<end ) a
    where mod(rowno,5) = 0 ;每5条记录取一条。
    不考虑效率的话可以这么试试…………
      

  3.   

    这个我也搜到了,但是直接写sql不能这么写啊。
    这是存储过程的做法,写成存储过程的话,valx,valy就定死了。
      

  4.   

    这个不算存储过程啊
    再不济,这么写就行了。select * from (
    select (@rowno := @rowno +1) as rowno,valx,valy 
    from record,(select @rowno :=0) b 
    where datetime>start and datetime<end ) a
    where mod(rowno,5) = 0 ;