虽说尽量不用索引列运算,但是遇到求余问题,该如何处理

解决方案 »

  1.   

    | id  |
    +-----+
    |   7 |
    |  10 |
    |  15 |
    |  20 |
    |  30 |
    |  50 |
    |  70 |我想得到能1050%id==0的所有记录
      

  2.   

    select * from tt where MOD(1050, id)=0;
      

  3.   

    如果你不愿意改代码,则只能用 where 1050%id=0, 会进行全表扫描。 
    但如果真的数据很大需要提高效率,则应该在你的程序代码中先找出 1050的所有因子,然后使用 where id in (1,2,3,5,6,7,10,14,15,21,25,30,35,42,50,70,75,105,150,175,210,350,525,1050)