如何选择每条记录+ 100的值?

时间:2011-07-03 10:55:48

标签: mysql select

我有一个整数表,有两列。

  • col1 | COL2
  • 47 | 99
  • 56 | 100
  • 100 | 110
  • 147 | 150
  • 156 | 160
  • 200 | 250
  • 247 | 300

假设MySQL开始在col1,row1读取,值为47和99。 我想让MySQL做的是从col1中选择每个值+100的数据。 所以这里col1从47开始,MySQL应该选择 47 147 247

仅供参考:此表有大约500,000行。 ..根据统计数据,这应该返回大约50,000行。所以我需要一个超快的查询。

我有几次尝试没有成功,就像那样:

    SELECT * 
      FROM ( 
           SELECT 
                @row := @row +100 AS rownum, col1
           FROM (SELECT @row :=0) r, my_table 
           ) ranked 
    WHERE rownum % [n] = 1

1 个答案:

答案 0 :(得分:2)

做类似

的事情
SELECT * FROM mytable WHERE col1 % 100 = 
   (select col1 % 100 from mytable order by col1 limit 1)