一个简单的SQL取最大值加1
表结构如下:
ID 字段1 字段2 字段3
1 字段1 字段2 字段3
2 字段1 字段2 字段3
3 字段1 字段2 字段3
4 字段1 字段2 字段3
现在需要查询出ID为3的数据进行再次插入该表中
insert into 表1(ID,字段1,字段2,字段3)
select max(ID) +1 as ID,字段1,字段2,字段3 from 表1
where ID=3 group By 字段1,字段2,字段3
但是这样永远都是提示错误,不能插入重复值,ID过滤最大值应该是4在加1,就是要ID自动往下循环
那么我在进行倒排序,取top1也不可以
insert into 表1(ID,字段1,字段2,字段3)
select top 1 max(ID) +1 as ID,字段1,字段2,字段3 from 表1
where ID=3 group By 字段1,字段2,字段3 order by ID desc
怎么才能把3的重复记录在插入一次,查询出最大ID进行加1
相关推荐
insert和select结合实现"插入某字段在数据库中的最大值+1"的方法
今天小编就为大家分享一篇关于insert和select结合实现"插入某字段在数据库中的最大值+1"的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
SQL21日自学通,完整版
SQL21日自学通SQL21日自学通SQL21日自学通SQL21日自学通SQL21日自学通SQL21日自学通SQL21日自学通SQL21日自学通
Oracle Sql基础 Oracle Sql基础 Oracle Sql基础
本篇主要介绍Oracle SQL运行环境及SQL语法相关内容。通过本篇的学习,必须掌握ORACLE SQL的使用。如同一个文员必须掌握office的使用一样。 SQL,结构化查询语言,是用于访问关系型数据库的语言,它提供一系列的表达式用于从关系数据库中存储、更新、删除、取得数据。自从关系型数据库发布以来,它逐步流行了起来。其他的语言也被提出用语关系型数据库,但是SQL作为几乎所有关系型数据库的标准语言已经被大众所接受,这其中包含大家正在学习的ORACLE。
SQL排除重复结果只取字段最大值分享
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。 代码如下:select * from [Sheet1$] awhere ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID) select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$] group by PID) b on a.PID=b.PID and a.ID=b.max_id
取最大值及SQL复合查询
最大值SQL复合查询 最大值SQL复合查询最大值SQL复合查询最大值SQL复合查询最大值SQL复合查询


