在下表中
People
以下内容:
id name
1 James
2 Yun
3 Ethan
如果我想找到最大id,我可以运行这个查询
select max(id) id from People;
结果是
id
3
如果要将除最后一行以外的所有行的id增加1,我尝试了以下操作:
select if(id=max(id), id, id+1) id, name from People
令人惊讶的是,我
为什么
max()
不象以前那样工作吗为什么只返回一行(看起来只返回第一行)?
我想我知道如何解决这个问题,如下所示:
select if(id=lastID, id, id+1) id,, name from People,
(select max(id) lastID from People) People_max
order by id;
然后我得到了我想要的:
但我想我还是不知道为什么前一个不起作用。
谢谢