Элементарный пример... Многие из нас используют group by. До знакомства с оконными функциями, стыдно признаться, что моим лучшим решением было выполнить самосоединение для извлечения исходного значения. Я и не подозревал, что этот метод очень неэффективен и неэффектен. Однако, выполнив group by, мы получим только одно значение в ответ. Во многих случаях мы хотели видеть исходное значение рядом с агрегированным значением, чтобы провести некоторое сравнение. Какова наилучшая практика для достижения этого? Гораздо лучший способ решить эту проблему - использовать оконную функцию. Что такое оконная функция? Как цитируется из Википедии, оконная функция - это функция, которая использует значения из одной или нескольких строк для возврата значения для каждой строки. С помощью оконной функции самосоединение больше не требуется для отображения как исходных, так и агрегированных значений. Пример SELECT date, month, day_temperature, AVG(day_temperature) OVER (PARTITION BY month ORDER BY dat