Я написал сложный запрос SQL с Oracle, в котором я хочу использовать две аналитические функции для одного раздела.
Давайте будем довольно простыми, но не слишком:
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
?
Спасибо.