如何在分组中去掉两个最小值求和?
比如下面格式数据:
A B C 主键列略
xi za 20
hi za 18
ci za 22
bi ha 21
fi ha 23
mi ha 20
...
要求得到结果如下:
B 结果
za (20+18+22)-18-22
ha (21+23+20)-20-21
也就是对B分组求和并去掉两个最小值。
求各位解答
谢谢
比如下面格式数据:
A B C 主键列略
xi za 20
hi za 18
ci za 22
bi ha 21
fi ha 23
mi ha 20
...
要求得到结果如下:
B 结果
za (20+18+22)-18-22
ha (21+23+20)-20-21
也就是对B分组求和并去掉两个最小值。
求各位解答
谢谢
解决方案 »
- 速度!请教大家一问题:设置Dbms_Output.put_line()输出长度大小的命令是什么?
- 向oracle里clob字段插入数据怎么做
- 【求助】【急】关于Oracle10g里的Order by速度慢的问题
- Oracle中调用DLL的问题
- oracle 返回的select 结果集的proc 如何写?
- 如何取得字段备注?
- 查询数据时超级郁闷的问题,还忘各位大虾指教!!
- 请教oracle8下,检索树形数据的sql文的写法,请高手指教。
- oracle自启动脚本在redhat8.0中遇到的新问题?
- 调查,请问国内现在那些大中型的软件企业使用Sybase的Powerbuild一套解决方案来进行大型c/s结构应用系统开发的,谢谢!
- long 型问题
- 如果更新Oracle中一条记录的字段(C#中)?
from(
select b , c ,
lead(num) over(partition by b order by c) max_num,
lead(num) over(partition by b order by c) min_num
from (select b , c , row_number(c) over(order by b,c) num from test)
)
where max_num is not null and min_num is not null
group by b
from(
select b , c ,
lead(num) over(partition by b order by c) max_num,
lag(num) over(partition by b order by c) min_num
from (select b , c , row_number(c) over(order by b,c) num from test)
)
where max_num is not null and min_num is not null
group by b