求问sql语句如何在添加中使用聚合函数

设1表中有A、B两列,我想添加一组数据(c,d)进去(并没有C的值),其中c=A列最大值+1,
如何写sql语句?

Ps.我知道如果只添加C可以这么写:

insert into 1(A)
select max(A)+1
from 1; 

但是我想同时将数据d添加进去

sql

4个回答

其实你已经知道方法了。
insert into 1(A,B) select max(A),d from test;
在这里d要是一个常量值或者是test表的字段;

devildream
梦里乾坤 回复glzmzd: 哦,你的要放在括号里才能正确执行啊!我刚写了测试没有括号也可以。
5 年多之前 回复
glzmzd
glzmzd 解决了。。把+1写在括号里面就OK了。。。多谢!
5 年多之前 回复
glzmzd
glzmzd 解决了。。把+1写在括号里面就OK了。。。多谢!
5 年多之前 回复
glzmzd
glzmzd duplicate entry '1' for key 'primary' 这是错误日志,我的A列为主键。但是我为了防止重复才+1了啊。。
5 年多之前 回复
glzmzd
glzmzd insert into 1(A,B) select max(A)+1,d from test;多了个+1就会报错啊。。
5 年多之前 回复

insert into tableA(c) select sum(A) from xxx

glzmzd
glzmzd 我并没有C的值啊。。我是希望C的值=A列最大的那个数+1
5 年多之前 回复
 SELECT A,B,c,d FROM 表1
 ,(select max(a)+1 c from 表1)
 ,(select max(b)+1 d from 表1)
danielinbiti
danielinbiti 回复glzmzd: SELECT A,B,c FROM 表1 ,(select max(a)+1 c from 表1) 多一列最大值(C列)
5 年多之前 回复
glzmzd
glzmzd 没太看懂。。
5 年多之前 回复

我刚回复的最大值少了+1。你写了max(A)+1会报错?什么错?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐