SQL:获å–一列的最大值和相应的其他列

时间:2016-07-11 10:26:35

标签: sql oracle greatest-n-per-group

ID|  tag  |  version
-----+-----+-----
1|  A  |  10
2|  A  |  20
3|  B  |  99
3|  C  |  30
3|  F  |  40

期望的输出:

1 A 10
2 A 20
3 B 99

如何获å–æ¯ä¸ªID的最大版本以åŠè¯¥ç‰ˆæœ¬çš„相应标签?速度很é‡è¦ï¼ˆæˆ‘有大约28米的行)所以嵌套的选择ä¸ä¼šè¿™æ ·åšã€‚å¦å¤–,带有max(版本)的ID的简å•åˆ†ç»„也ä¸èµ·ä½œç”¨ï¼Œå› ä¸ºæˆ‘还需è¦ç‰ˆæœ¬æœ€å¤§çš„相应Tag。

2 个答案:

答案 0 :(得分:3)

使用ui.item.value:

ui.item.label

答案 1 :(得分:2)

试试这个

select id, max(tag) keep(dense_rank first order by VERSION desc) as tag, max(version) as version
from t group by id