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

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

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

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


person Ronalds Mazītis    schedule 14.09.2013    source источник


Ответы (4)


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

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

person Steve Homer    schedule 14.09.2013
comment
Спасибо за быстрый ответ! - person Ronalds Mazītis; 14.09.2013
comment
Если у вас есть повторяющиеся значения, вы должны добавить опцию DISTINCT. - person Mchoeti; 04.10.2016

даже для

 where ([num]% 2) = 0

для нечетных

 where ([num]% 2) <>0
person Sajidur Rahman    schedule 01.12.2015

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

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

person Neha Chopra    schedule 01.08.2017

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

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;
person Bikramjeet Singh    schedule 03.03.2019