有一个表有,a,b,c3个值
现在要求,a对应的最大的b中的最大的c的那条数据例如
a b c
1 1 3
1 2 1
1 2 2
2 1 1
2 2 1结果要
a b c
1 2 2
2 2 1我现在嵌套两个max,感觉比较慢,又没有性能好一点的方法?
现在要求,a对应的最大的b中的最大的c的那条数据例如
a b c
1 1 3
1 2 1
1 2 2
2 1 1
2 2 1结果要
a b c
1 2 2
2 2 1我现在嵌套两个max,感觉比较慢,又没有性能好一点的方法?
解决方案 »
- 多表关联,连接表的合理个数是多少?
- 关于事务的问题
- 一个SQL多表联合更新的问题
- Oracle 10G数据库恢复总出错
- 关于数据库灭备问题。。多谢!
- VB.NET下如何访问ORACLE数据库
- 在oracle 7.3.2.2.0中,如何让查询出来的记录分页显示,而不是一闪而过?
- java连接linux上oracle 9出现的问题,该怎么解?
- 自动生成帐单号的问题
- {100分}在windows2000 professional下安装oracle817后,运行成功,当我把计算机的名称改变以后,再启动oracle时提示: ORA-12545:连接
- 数据库子查询问题。请各位大牛赐教
- 求下面SQL优化,表的连接太多了。
b.a,
b.d,
max(b.c) e
from
(
select
a.a,
a.b,
a.c,
max(a.b) over(partition by a.a order by a.a) d
from
table_a a
) b
where b.b=b.d
group by
b.a,b.d
SELECT *
FROM S3 T1
WHERE T1.B > = ALL (SELECT T2.B FROM S3 T2 WHERE T2.A = T1.A)
AND T1.C >= ALL (SELECT T3.C
FROM S3 T3
WHERE T3.A = T1.A
AND T3.B = T1.B)
select a,b,c ,row_number()over(partition by a order by b desc,c desc) num1 from xxxx
) where num1=1
SELECT 1 a,1 b,3 c FROM dual
UNION
SELECT 1 ,2 ,1 FROM dual
UNION
SELECT 1,2 ,2 FROM dual
UNION
SELECT 2 ,1 ,1 FROM dual
UNION
SELECT 2 ,2 ,1 FROM dual
)
SELECT DISTINCT a
,Last_Value(b) over (PARTITION BY a ORDER BY b rows between unbounded preceding and unbounded following) b
,Last_Value(c) over (PARTITION BY a ORDER BY b,c rows between unbounded preceding and unbounded following) c
FROM t;