我有以下场景,我在表类别中有一个名为 categoryid 的表列,我需要以 100 为间隔选择表中 categoryid 为 100 及以上的所有行。
例如
SELECT * FROM categories WHERE categoryid IN(100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000...
有没有比手动输入所有间隔更好的方法,它应该从百开始到最后一个数字。请记住,最后一个数字可能会随着客户添加新类别而改变。这可能吗,希望我能理解。
最佳答案
所以我使用的这个 % 运算符称为模运算符,它会在除以一个数字(在本例中为 100)后给出余数。如果余数为 0,则它是 100 的倍数。我们还需要 >= 100 条件,因为零也通过模条件。
SELECT * FROM categories WHERE categoryid >= 100 AND categoryid % 100 = 0;
关于php - MySql - 如何按设定的时间间隔选择一系列 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026377/