如何从MySQL查询中排除某一行

Spe*_* K. 3 mysql row

我想从MYSQL查询中排除某一行.

SELECT * FROM imdb WHERE genres LIKE 'Adventure' ORDER BY id DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

这是一个电影网站,所以我重温类似的冒险电影,但这包括当前的电影.

所以我需要这样的东西:

选择像Adventures这样的电影,但不包括这个id:1,然而,结果是10部电影.

JW8*_*JW8 8

如果您知道确切的ID(例如,id = 1),请执行以下操作:

SELECT * FROM imdb WHERE genres LIKE 'Adventure' AND id <> 1 ORDER BY id DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

看到这篇SO帖子.


Jos*_*ell 5

这样的事可能吗?

SELECT * 
FROM imdb 
WHERE genres LIKE 'Adventure' AND
  ID NOT IN (1)
ORDER BY id DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

您可以在后面的括号之间放置一个不想包含的ID列表NOT IN.

编辑:如果你知道要排除的特定ID组,你也可以在这些parens之间进行查询:

WHERE genres LIKE 'Adventure' AND
  ID NOT IN (SELECT ID FROM imdb WHERE LeadActor='Pauly Shore') --You know you want to exclude him =)
Run Code Online (Sandbox Code Playgroud)