【发布时间】:2015-12-11 16:05:33
【问题描述】:
我想根据由另一列分组的不同列的最大值来获取列的值。
我有这张桌子:
KEY NUM VAL
A 1 AB
B 1 CD
B 2 EF
C 2 GH
C 3 HI
D 1 JK
D 3 LM
想要这个结果:
KEY VAL
A AB
B EF
C HI
D LM
我实际上可以使用这个查询来获取它。
select KEY, VAL
from TABLE_NAME TN
where NUM = (
select max(NUM)
from TABLE_NAME TMP
where TMP.KEY = TN.KEY
)
但是ORACLE SQL(10g或以上)有没有更优雅的方式来获取结果?
原因是实际上有多个KEYs,只是看起来有点丑。
【问题讨论】:
-
仅适用于搜索 samish 事物的人...尤其是当您无法使用嵌套查询时,(因为 asktom.oracle.com/pls/apex/…),您可以在这里查看:stackoverflow.com/questions/65866812/…