oracle多列最大值的sql
2011-11-25 09:53
357 查看
select id,r,sr,kbn from (
select distinct id
,row_number() over(partition by id order by r desc)
rn
,row_number() over(partition by id,r order by sr desc)
rn2
,row_number() over(partition by id,r,sr order by kbn desc)
rn3
,r
,sr
,kbn
from test_soukou
)
where rn = 1 and rn2=1 and rn3=1
--order by id,v1,v2,v3
select a.id, a.r, a.sr, max(kbn) as kbn
from
(
select t.id, t.r, max(sr) as sr
from (select id, max(r) as r from test_soukou group by id) t1, test_soukou t
where t1.id = t.id and t1.r = t.r group by t.id, t.r
) a, test_soukou b
where a.id = b.id and a.r=b.r and a.sr=b.sr group by a.id,a.r,a.sr
select distinct id
,row_number() over(partition by id order by r desc)
rn
,row_number() over(partition by id,r order by sr desc)
rn2
,row_number() over(partition by id,r,sr order by kbn desc)
rn3
,r
,sr
,kbn
from test_soukou
)
where rn = 1 and rn2=1 and rn3=1
--order by id,v1,v2,v3
select a.id, a.r, a.sr, max(kbn) as kbn
from
(
select t.id, t.r, max(sr) as sr
from (select id, max(r) as r from test_soukou group by id) t1, test_soukou t
where t1.id = t.id and t1.r = t.r group by t.id, t.r
) a, test_soukou b
where a.id = b.id and a.r=b.r and a.sr=b.sr group by a.id,a.r,a.sr
相关文章推荐
- Oracle APEX SQL脚本超出了允许的最大大小
- 【Oracle】oracle sql 按某个字段分组然后从每组取出最大的一条纪录
- oracle sql 按某个字段分组然后从每组取出最大的一条纪录
- oracle 读取最大值sql
- Oracle SQL查询每组中某个字段最大的那笔资料
- SQL语句取得最大件数(MSSQL ORACLE Postgre,top rownum,limit)
- ORACLE中SQL语句最大长度是多少
- oracle 求多列最大值最小值SQL
- SQL(oracle) 取得分组后最大值记录
- ORACLE 查看当前连接数、修改最大连接数相关SQL或命令
- Oracle---------sql 中取值两列中值最大的一列
- SQL ORACLE MYSQL 最大连续日期计算
- SQL(oracle) 取得分组后最大值记录
- oracle sql 按某个字段分组然后从每组取出最大的一条纪录
- [sql server、oracle] 分组取最大值最小值常用sql
- ORACLE中SQL语句最大长度是多少
- oracle 某字段的值有相同的多个,取另一个字段排序后最大或最小 sql
- Oracle SQL Developer连接MS SQL SERVER 2000的处理
- 简单实用oracle sql查询
- Oracle SQL Developer 连接mysql