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

时间:2011-09-02 15:52:03

标签: mysql row

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

SELECT * FROM imdb WHERE genres LIKE 'Adventure' ORDER BY id DESC LIMIT 10

这是一个电影网站,所以我会回复类似的冒险电影,但这包括当前的电影。

所以我需要这样的东西:

选择像Adventures这样的电影,但不包括此ID:1,然而,结果是10部电影。

4 个答案:

答案 0 :(得分:8)

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

SELECT * FROM imdb WHERE genres LIKE 'Adventure' AND id <> 1 ORDER BY id DESC LIMIT 10

请参阅此SO post

答案 1 :(得分:5)

这样的事可能吗?

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

您可以在NOT IN之后添加一个您不想包含在括号之间的ID列表。

编辑:如果你知道要排除的特定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 =)

答案 2 :(得分:3)

SELECT * FROM imdb WHERE genres LIKE 'Adventure' and id != 1 ORDER BY id DESC LIMIT 10

答案 3 :(得分:0)

如果不显示当前用户数据,则下面是查询

$sql = "SELECT u1.parent_id, m1.meta_value AS headline
        FROM wp_vandor u1
        JOIN wp_usermeta m1 ON (m1.user_id = u1.child_id AND m1.meta_key = 'headline') 
        WHERE m1.user_id!=$currentuser_id";