MySql – Как выбрать диапазон идентификаторов с установленными интервалами

У меня есть следующий сценарий: у меня есть столбец таблицы с именем categoryid в категориях таблицы, мне нужно выбрать все строки в таблице, где categoryid равно 100 и выше с интервалами в 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... 

Есть ли лучший способ сделать это, чем вручную вводить все интервалы, он должен начинаться сотой и доходить до последнего номера. Имейте в виду, что последний номер может измениться, так как клиент добавляет новые категории. это возможно, надеюсь, что у меня есть смысл.

Таким образом, этот оператор%, который я использовал, называется оператором modulo, и он даст вам остаток после деления на число (в этом случае 100). Если остаток равен 0, то он кратен 100. Нам также нужно условие> = 100, потому что ноль также переходит в модульное условие.

 SELECT * FROM categories WHERE categoryid >= 100 AND categoryid % 100 = 0; 

Используйте modulo (остаток деления).

 WHERE (MOD(categoryid, 100) = 0) AND (categoryid >= 100) 

используйте оператор Modulo, который изображен на%

 SELECT * FROM categories WHERE categoryid >= 100 AND categoryid % 100 = 0; 

Чтобы дать другой вариант, вы также можете сделать это с помощью LIKE

 SELECT * FROM categories WHERE categoryid LIKE "%00"; 

Используйте функцию в предложении where:

SELECT xField FROM yTable WHERE ({fn MOD (JourneyPatternPointId, 100)} = 0)