2015-02-23 86 views
-1

我有5个类别的数据库,我试图显示其中4个。基本上我不想显示表中有category=1的行。这是我尝试从某些类别中选择

SELECT * FROM posts WHERE category IN (2, 7, 8, 9) ORDER BY RAND() 

,但仍显示行(项目),这是从类别1.

+2

你能分享一些示例数据,你要为这个查询,结果你的结果请问? – Mureinik 2015-02-23 07:13:02

+0

@Select试试这个,SELECT * FROM帖子类别IN(2,7,8,9)和类别NOT IN(1)ORDER BY RAND() – mady 2015-02-23 07:13:23

+0

类型是整数 – Select 2015-02-23 07:13:37

回答

0

我相信问题在别的地方。为确保它不提取类别为1的记录,可以在where子句中添加一个条件。

SELECT * 
FROM posts 
WHERE category <> 1 
    AND category IN (2, 7, 8, 9) 
ORDER BY RAND() 
+0

是的,这有诀窍。谢谢 – Select 2015-02-23 07:22:45

0
SELECT * FROM posts WHERE category IN (2, 7, 8, 9) ORDER BY RAND() 

尝试添加类!= 1到你的查询

SELECT * FROM posts WHERE category != 1 and category IN (2, 7, 8, 9) ORDER BY RAND() 

您可以从排除类别1的帖子中选择所有类别

SELECT * FROM posts WHERE category != 1 
0

下面指定将返回所有类别,除了 类别查询1

SELECT * FROM posts WHERE category NOT IN (1)