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

时间:2017-04-11 15:52:50

标签: mysql phpmyadmin

我试图使用select语句来获取某个MySQL表中的所有行,除了一个将增加其先前值的行 e.g。

+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |
+----+--------+

现在,每次我添加一个新值时,它将是7,8,9 ..现在我想选择除表中插入的新值之外的行

2 个答案:

答案 0 :(得分:4)

编写一个获得最高id的子查询,然后用WHERE子句排除该子查询。

SELECT *
FROM yourTable
WHERE id != (SELECT MAX(id) FROM yourTable)

答案 1 :(得分:2)

编写一个获得最大id的子查询 然后让所有ID小于WHERE中的最大ID。

SELECT 
 *
FROM 
  [table]
WHERE
 id < (
   SELECT 
     MAX(id) 
   FROM 
     [table]
 )