Как выбрать нечетные или четные элементы из строки в SQL?

Мне нужны только четные или нечетные элементы, поэтому я нахожу операцию по модулю, и это не работает

SELECT  * FROM table ORDER BY id WHERE MOD (num, 2) = 1 ASC;

Пожалуйста, помогите мне, я нуб в SQL, так как я не сделал в этом много.

3 ответа

SELECT * FROM table WHERE MOD (num, 2) = 1 ORDER BY id  ASC;

Вернет все нечетные значения num.

Даже для

 where ([num]% 2) = 0

как ни странно

 where ([num]% 2) <>0

Для чётного запроса:

SELECT 
  * 
FROM 
  table_name 
WHERE 
  MOD(NUM, 2) = 0 
ORDER BY 
  ID ASC;

Для нечетного, запрос:

SELECT 
  * 
FROM 
  table_name 
WHERE 
  MOD(NUM, 2) != 0 
ORDER BY 
  ID ASC;

SELECT * FROM table WHERE MOD (num, 2) = 1 ORDER BY id ASC;

После получения окончательного результирующего набора для сервера sql в зависимости от условия where, только мы можем применить любой порядок asc и desc

Другие вопросы по тегам