Oracleを使用して複雑なSQLクエリを作成しました。このクエリでは、同じパーティションで2つの分析関数を使用します。
非常に単純にしましょうが、あまり多くはありません。
SELECT col1,
MAX(col2) OVER(PARTITION BY col3, col4, col5, col6,
CASE WHEN col7 LIKE 'foo'
THEN SUBSTR(col7,1,5)
ELSE col7
END
ORDER BY col5 ASC, col6 DESC),
MIN(col2) OVER(PARTITION BY col3, col4, col5, col6,
CASE WHEN col7 LIKE 'foo'
THEN SUBSTR(col7,1,5)
ELSE col7
END
ORDER BY col5 ASC, col6 DESC)
FROM my_table;
PARTITION BY
句を因数分解するためのより洗練された構文はありますか?
ありがとうございました。