在MySQL中选择除一行之外的所有行

17

我正在尝试使用SELECT语句,从一张表中获取除了一个id4的行之外的所有行 - 有没有简单的方法可以实现这个目标?

3个回答

41

您有几个选择:

SELECT * FROM table WHERE id != 4;

SELECT * FROM table WHERE NOT id = 4;

SELECT * FROM table WHERE id <> 4;

另外,考虑到将来可能需要向此列表中添加/删除ID,因此另一个列出您不希望可选择的ID的表可能是一个好主意。

这种情况下,您将拥有:

SELECT * FROM table
WHERE id NOT IN (SELECT id FROM exempt_items_table);

我在这里做的对吗?SELECT * FROM gallery WHERE NOT idAlbum = 4 '".$rowAlbums['idAlbum']."' ORDER BY RAND() LIMIT 1 - woninana
如果我理解正确的话,这段代码的意思是:从数据库中选取"gallery"表中idAlbum不等于$rowAlbums['idAlbum']的一行,并按随机顺序排序,最后限制结果为1行。 - Tim

8
select * from table where some_id != 4

4
select * from <table name> where <column - name> != <value>;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接