1

我想要做的是为满足查询条件的每一行检索表的 MAX(id) 。下面我添加了一个我想要检索的数据的示例。

我的表:

+------+----------+
| id   | content  |
| 1    | Hello    |
| 2    | World    |
| 3    | !!!!     |
+------+----------+

预期查询结果:

+------+----------+-----+
| maxid| content  | id  |
| 3    | Hello    | 1   |
| 3    | World    | 2   |
| 3    | !!!!     | 3   |
+------+----------+-----+

它必须与WHEREandHAVING语句一起使用。

4

2 回答 2

3

试试这个方法:

select (select max(id) from tab) as maxid, content, id 
from tab

或者

select  t1.maxid, t.content, t.id 
from tab t
cross join (select max(id) as maxid from tab) t1

Sql Fiddle DEMO(来自hims056。谢谢!)

于 2013-07-24T12:48:07.823 回答
0

假设您已经添加了 maxid 列:

UPDATE mytable SET maxid = (
    SELECT MAX(id) FROM mytable
);
于 2013-07-24T12:50:19.347 回答