超难的SQL汇总查询请教??

zgjob 2009-12-02 11:46:10
表格内容如下
单号 名称 单号合计
001 水 10
001 水 10
001 其他 10
002 电 12
003 气 9
004 电 13
005 水 10
要求:并不知道各项目的单价,计算出的汇总金额为001的单号合计+002的单号合计+...
最后结果应为54



请教SQL语句如写??
算法是相同单号的单号合计都是一样的,比如单号001的单号都是10,汇总时按名称汇总,相同单号的单号合计只取一次.

...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgjob 2009-12-03
  • 打赏
  • 举报
回复
多谢各位了,只有8楼的写法行得通,
zhangwonderful 2009-12-02
  • 打赏
  • 举报
回复
select sum(单号合计)
from
(
select 单号,单号合计 from temp group by 单号,单号合计
)
小灰狼W 2009-12-02
  • 打赏
  • 举报
回复
select sum(max(单号合计)) from tt
group by id
cosio 2009-12-02
  • 打赏
  • 举报
回复
select sum(单号合计)
from
(
select distinct 单号,单号合计 from temp
)
sxq129601 2009-12-02
  • 打赏
  • 举报
回复
select 单号,sum(单号合计) from 表格 group by 单号 ?
guolin_cai 2009-12-02
  • 打赏
  • 举报
回复
select 单号,名称,sum(单号合计) from table group by rollup((单号,名称)) 看清了,是双括号
jianfeng0310 2009-12-02
  • 打赏
  • 举报
回复
select sum(单号合计)
from 表名 t
where rowid in (select max(rowid) from 表名 t1 where t1.单号 = t.单号);


试下这个
碧水幽幽泉 2009-12-02
  • 打赏
  • 举报
回复
select sum(单号合计)over(partition by 单号合计 order by 单号) 合计 from table
guolin_cai 2009-12-02
  • 打赏
  • 举报
回复
select 单号,sum(单号合计)over(order by 单号) 合计 from table
zgjob 2009-12-02
  • 打赏
  • 举报
回复
上面说的不行哟,相同单号的只取一次金额,因为相同单号的金额都是一样的。

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧