Одной из самых мощных концепций в анализе данных SQL является оконная функция, мне потребовалось немного практики, чтобы по-настоящему освоить ее, и она стала чрезвычайно полезной в моем путешествии по машинному обучению, как вы увидите здесь, в этой статье.

Обучение использованию этого инструмента в различных ситуациях сделало мой анализ данных эффективным. Функция Window позволила мне сравнить одну строку с другой без объединения! Это означало, что я мог научиться делать простые вещи, такие как создание промежуточного итога, а также сложные вещи, такие как определение того, была ли одна строка больше, чем предыдущая, и классифицировать ее на основе моих выводов.

Наиболее практичным примером оконной функции является промежуточный итог, например, предположим, что вы хотите вычислить промежуточный итог того, сколько стандартной бумаги Kiwanda продала сегодня.

Вы можете видеть, что этот запрос создает промежуточный итог агрегации без использования GROUP BY. Давайте разберем синтаксис и посмотрим, как он работает.

Первая часть этой агрегации очень похожа на любую другую агрегацию, добавление OVER определяет ее как оконную функцию. Вы можете прочитать приведенную выше агрегацию как; возьмите сумму стандартного количества по всем строкам, ведущим к данной строке, в порядке возникновения.

Скажем, вместо этого мы хотим начать промежуточный итог OVER в начале каждого месяца. Чтобы сузить окно от всего набора данных до отдельных групп в наборе данных, мы используем функцию PARTITION BY.

Теперь этот запрос группирует и упорядочивает запрос по месяцу, в котором произошли транзакции. В каждом месяце он упорядочивается по дате возникновения и промежуточным итоговым суммам в текущей строке и во всех предыдущих строках стандартного количества. Вот что происходит, когда вы группируете с помощью PARTITION BY.

Если ORDER BY все еще ставит вас в тупик, он просто упорядочивает назначенные столбцы так же, как предложение ORDER BY, за исключением того, что оно рассматривает каждый раздел как отдельный. Он также создает промежуточную сумму, без ORDER BY каждое значение будет просто суммой всех стандартных значений количества в соответствующем месяце.

Чтобы получить четкое представление, вот что происходит, когда мы запускаем этот запрос с ORDER BY.

ПОРЯДОК и РАЗДЕЛ определяют то, что называется Окном; упорядоченное подмножество данных, в котором производятся все эти расчеты!

Вы поняли, почему одной из самых мощных концепций в анализе данных SQL является оконная функция. Вам потребуется немного практики, чтобы действительно освоить ее и увидеть, как она становится чрезвычайно полезной. В процессе вы станете аналитиком данных мирового класса, потому что большая часть обучения SQL заканчивается до оконной функции.

Поздравляю, что дочитали до конца. Если вы найдете это полезным, хлопайте! чтобы другие люди могли видеть это легче.