如何使用IN&不在同一个查询中

时间:2016-05-19 14:11:19

标签: mysql

我的查询包含IN和&查询中NOT,但它给了我一个错误:

  

错误代码:1064。您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在第1行的“IN('aniket27')ORDER BY id DESC LIMIT 2'附近使用正确的语法

这是我查询的外观

SELECT * FROM users 
WHERE username IN ('aniket27','deepakrajak','bhawana','Mehul13','sanchayeeta',
                   'shivajidutta', 'anamika_4a','parekh','anupamkumar') 
AND NOT IN ('aniket27') 
ORDER BY id DESC LIMIT 2

3 个答案:

答案 0 :(得分:3)

您必须指定NOT IN

的列
SELECT * FROM users WHERE username IN ('...') AND username NOT IN ('aniket27') ORDER BY id DESC LIMIT 2

但第一个条件足以匹配NOT IN部分中列出的元素,只需从第一个IN列表中删除它们。

答案 1 :(得分:2)

您忘记将字段名称放在“NOT IN”之前:

SELECT * FROM users WHERE username IN ('aniket27','deepakrajak','bhawana','Mehul13','sanchayeeta','shivajidutta','anamika_4a','parekh','anupamkumar') AND username NOT IN ('aniket27') ORDER BY id DESC LIMIT 2

答案 2 :(得分:1)

试试这个:

SELECT * FROM users 
WHERE username IN ('aniket27','deepakrajak','bhawana','Mehul13','sanchayeeta','shivajidutta','anamika_4a','parekh','anupamkumar') 
AND username NOT IN ('aniket27') 
ORDER BY id DESC LIMIT 2;