高难度SQL请教 - Oracle / 开发
下面的是SQL的原始数据,我需要下面的结果,怎么写SQL:
ADDRESS CUSTOMER DRDL01 IMSRP1 Amount
10003051 ALPHA START LIMITED POLY COVERED CORE PC 1425501.63
10003051 ALPHA START LIMITED SPUN POLYESTER SP 404370.41
10003051 ALPHA START LIMITED TRILOBAL AIR ENTANGLED POLY TL 9700
10003051 ALPHA START LIMITED SAK COTTON CS 38.3
10003051 ALPHA START LIMITED FILAMENT POLYESTER FP 3960
10003051 ALPHA START LIMITED COTTON COVERED CORE CC 3715.84
要得到的结果:
10003051 ALPHA START LIMITED POLY COVERED CORE PC 1425501.63
10003051 ALPHA START LIMITED SPUN POLYESTER SP 404370.41
10003051 ALPHA START LIMITED OTHERS OTHERS 17414.14
就是按order by ADDRESS,Amount desc ,
然后取前两条记录,后面的用others 代替,汇总金额成第三条记录,
也就是说不管原始记录有多少条,我只能去金额最高的两条和其它的汇总成一条记录,DRDL01变为others 即可.
-- 太容易了.............
SQL code:
-- 先把SQL语句贴出来,楼主:下次问问题
相关问答:
大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
大家好,我现在把oracle服务器上面 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......
SQL code:
CREATE OR REPLACE PROCEDURE usp_refreshTopN IS
BEGIN
--文档
INSERT INTO topnresource(resourceId,title,type,cover,brief,properUser,tag,clickAmount,createDate,topNCreateDate,organizat ......