msql如何在notin中使用many语句

8gsdolmq  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(350)

我尝试执行此查询:

SELECT ISBN FROM table2 WHERE 
NOT IN ISBN=('8426429807','840149768X')
group by ISBN 
ORDER BY AVG(`Book-Rating`) DESC LIMIT 10

但是我得到了这个形状
1064-您的sql语法有错误;请查看与您的mariadb服务器版本相对应的手册,以获取在isbn=('8426429807','840149768x'中使用的正确语法
我怎样才能在not in中使用多个isbn

mwg9r5ms

mwg9r5ms1#

Not In() 语法是:

expr NOT IN (value,...)

基本上,列/表达式应该放在前面 Not In 你不使用 = 接线员。应该是:

SELECT ISBN
FROM table2
WHERE ISBN NOT IN ('8426429807',
                   '840149768X')
GROUP BY ISBN
ORDER BY AVG(`Book-Rating`) DESC
LIMIT 10

编写相同查询的另一种方法是使用 NOT (expr IN (value, ...)) :

SELECT ISBN
FROM table2
WHERE NOT (ISBN IN ('8426429807',
                    '840149768X'))
GROUP BY ISBN
ORDER BY AVG(`Book-Rating`) DESC
LIMIT 10
btxsgosb

btxsgosb2#

你应该使用 where column_name NOT IN ( col_value1, col_value2) ```
select ISBN from table2
where ISBN NOT IN ('8426429807','840149768X')
group by ISBN
ORDER BY AVG(Book-Rating) DESC LIMIT 10

相关问题