sql 最后一行 合计 60

怎么让合计到最后一行啊createtabledingdan(dingdanhaoint,shangpinmingvarchar(20)notnull,shuliangva... 怎么让合计到最后一行啊
create table dingdan(dingdanhao int ,shangpinming varchar(20) not null,shuliang varchar(20) not null,shoujia money not null)
select * from dingdan
insert into dingdan(dingdanhao,shangpinming,shuliang,shoujia)select 88880001,'1',3,45 unionselect 88880001,'王老吉',4,130 unionselect 88880001,'六个核桃',5,270 unionselect 88880001,'统一',6,450 unionselect 88880001,'康师傅',7,528 unionselect 88880001,'达利园',8,320

select shangpinming as 商品名,shuliang as 数量 ,shoujia as 金额 from dingdan unionselect '','合计金额',sum(shuliang*shoujia) from dingdan
展开
 我来答
longrenyingdc8ecb1
2014-08-29 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2358万
展开全部
select shangpinming as 商品名,shuliang as 数量 ,shoujia as 金额 from dingdan
union
select '','合计金额',sum(shuliang),sum(shoujia) from dingdan
我看家你的金额已经是每个品种的合计了,这里就不用乘了。
如果你是想直接出来的话(从你计算单品种的合计开始),我记得group by 有个rollup还是cube的参数,可以达到你的要求。
追问
我随意谢的价格 不是合计 依然需要乘  group by 什么的还没学 不知道咋用
追答
这个你去网上查查吧,不过group by可以实现你的要求,还需要用到rollup或者cube,如果你的是oracle的话,如果是其他数据库,我没用过,不知道一不一样,不过大概方向应该差不多。
tj_angela
推荐于2018-04-30 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2572万
展开全部
select isnull(shangpinming,'总计') as 商品名,sum(cast(shuliang as int)) as 数量 ,sum(shoujia) as 金额
from dingdan
group by rollup(shangpinming)

另外如果每个提问者都能像楼主那样给出建表语句就好了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式