2016-01-12 87 views

回答

2

你可以在这里使用纯字符串条件,因为数据是静态的(例如不是来自用户):

User.where('id % 3 = 0') 

了解更多official docs

+1

感谢它的魅力 –

+0

请注意,其他数据库系统可能需要“%”以外的内容(请参阅另一个答案中的Oracle示例)。 –

+0

@arogachev:很好的回答:) –

2

如果数据库是Oracle,那么你就可以做到以下几点:

User.where('mod(id, 3) = 0') 

查询:

2.1.2-perf :004 > User.where('mod(id, 3) = 0').to_sql 
=> "SELECT \"users\".* FROM \"users\" WHERE (mod(id, 3) = 0)" 

的Sql拨弄演示此查询here

+1

其他数据库用户的好回答:) –