Подтвердить что ты не робот

Синтаксис mysql не равный многим значениям

Я пытаюсь получить правильный синтаксис для следующего случая?

SELECT * 
FROM wp_posts AS p 
WHERE post_type = 'post' 
AND post_status = 'publish' 
AND ID <> 5616,1095,1357,271,2784,902
ORDER BY post_title DESC
4b9b3361

Ответ 1

Вместо <> вы можете использовать NOT IN (5616,1095...)

SELECT * 
FROM wp_posts AS p 
WHERE post_type = 'post' 
AND post_status = 'publish'
AND ID NOT IN (5616,1095,1357,271,2784,902)
ORDER BY post_title DESC 

Ответ 2

SELECT * FROM wp_posts AS p WHERE post_type = 'post' 
AND post_status = 'publish' AND 
ID NOT IN (5616,1095,1357,271,2784,902) ORDER BY post_title DESC

Ответ 3

Оператор <> сравнивает один левый и правый аргументы, чтобы убедиться, что они не равны. В вашем случае у вас есть один аргумент левой руки, который нужно проверить (я полагаю), чтобы увидеть, не является ли ID ни одним из значений справа. Поэтому вы должны использовать ID NOT IN (5616,1095,1357,271,2784,902)