oracle怎么查找最大值,oracle – 在每个分区的列中查找最大值
我有表結構,如:
CREATE TABLE new_test
( col1 NUMBER(2) NOT NULL,
col2 VARCHAR2(50) NOT NULL,
col3 VARCHAR2(50) NOT NULL,
col4 VARCHAR2(50) NOT NULL
);
它有數據:
col1 col2 col3 col4
0 A B X
1 A B Y
2 A B Z
1 C D L
3 C D M
我需要找到col4的值,它對col2和col3的組合具有最大值.例如我的結果應該是:
col4
Z
M
我嘗試使用oracle分析函數:
SELECT col4, MAX(col1) OVER (PARTITION BY col2, col3) FROM (
SELECT col2, col3, col4, col1
FROM new_test);
但它沒有按預期工作.你能幫我解決這個問題嗎?
更新:
我可以使用它:
SELECT a.col4
FROM new_test a,
(SELECT col2,
col3,
col4,
MAX(col1) OVER (PARTITION BY col2, col3) AS col1
FROM new_test
) b
WHERE a.col2 = b.col2
AND a.col3 = b.col3
AND a.col4 = b.col4
AND a.col1 = b.col1;
還有比這更好的方法嗎?
總結
以上是生活随笔為你收集整理的oracle怎么查找最大值,oracle – 在每个分区的列中查找最大值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZZULIOJ 1088: 手机短号 (
- 下一篇: VsCode git报错 g