Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В этом руководстве мы обсудим различные агрегатные функции в SQL и то, как мы можем их использовать. В SQL агрегатные функции используются для накопления данных из нескольких строк в одну итоговую строку.
Агрегатные функции в SQL могут быть очень полезны для аналитиков при суммировании данных.
Оглавление
Часто используемые агрегатные функции в SQL
Ниже показаны некоторые из часто используемых агрегатных функций в SQL .
Обратите внимание, что функции и обычно используются в валютах или целочисленных значениях. Функция AVG возвращает не только среднее, но и среднее значение столбца. Кроме того, агрегатная функция — единственная, которая не игнорирует нулевые значения при выполнении вычислений.
Давайте создадим несколько примеров команд, используя наши пять агрегатных функций с образцом таблицы ниже.
Сначала составим команду с помощью функции MAX . Допустим, мы хотим найти продукт с наивысшей ценностью в столбце ProductName. Наша команда должна выглядеть примерно так, как показано на изображении ниже.
Поскольку мы находим продукт с наивысшей ценностью, нам нужно получить его цены, которые находятся в столбце ProductPrice . Всегда добавляйте псевдоним, чтобы указать имя для выходного столбца. Если мы выполним эту команду, она покажет нам самый ценный продукт только с одним значением.
Далее составим команду с помощью функции MIN . Поскольку функция MIN чем-то похожа на функцию MAX , мы воспользуемся тем же примером, что и в функции MAX , но на этот раз мы найдем продукт с наименьшим значением.
Когда мы выполним эту команду, она выберет продукт с наименьшим значением в нашей таблице образцов.
Теперь давайте сделаем команду, используя функцию COUNT . Допустим, мы хотим найти количество продуктов в столбце ProductID . Наша команда должна выглядеть примерно так, как показано на изображении ниже.
Если мы выполним эту команду, она покажет нам количество каждого продукта в столбце ProductID и соответствующую цену.
Агрегатные функции и предложение GROUP BY
Теперь давайте обсудим, как мы можем использовать несколько столбцов с агрегатными функциями . Для этого нам нужно использовать предложение GROUP BY .
Функция GROUP BY в основном используется в агрегатных функциях, поскольку она возвращает одну запись из каждой группы. Кроме того, все столбцы в операторе SELECT, даже без агрегирования, должны быть включены.
Давайте обсудим, как мы будем использовать агрегатные функции с предложением GROUP BY, на примере нашей таблицы ниже.
Во-первых, давайте попробуем выполнить команду без использования предложения GROUP BY, чтобы увидеть разницу. Давайте найдем общее значение SaleAmount в столбце ProductName . Наша команда должна выглядеть примерно так, как показано на изображении ниже.
Как вы заметили, команда аналогична предыдущим примерам, которые мы упоминали в начале этого руководства. Как только мы выполним эту команду, она просто рассчитает общую сумму в столбце SaleAmount , которая будет равна 28 .
Теперь давайте рассмотрим еще один пример с предложением GROUP BY .
Поскольку мы используем предложение GROUP BY , теперь мы можем использовать несколько столбцов. На этот раз мы хотим увидеть общую сумму продаж по категориям.
Предложение GROUP BY гарантирует, что в результате будет показана сумма продаж для каждой категории, и если оно выполнено, результатом будет изображение ниже.
В этом примере важно использовать предложение GROUP BY, иначе произойдет ошибка. Это связано с тем, что категория не содержится в предложении GROUP BY или агрегатной функции.
Возьмем тот же пример, но на этот раз мы также получим общую сумму продаж по ProductName . Наша команда должна выглядеть примерно так, как показано на изображении ниже.
Как только мы выполним нашу команду, результат покажет сумму продаж по категориям и по ProductName .
Помните, что вы не можете использовать или обращаться к нескольким столбцам без использования предложения GROUP BY , потому что если вы это сделаете, это вызовет ошибку после запуска вашей команды.
Агрегированные функции в SQL Server Management Studio (SSMS)
Давайте теперь обсудим, как мы можем использовать агрегатные функции в SQL Server Management Studio . В наших примерах мы будем использовать приведенную ниже таблицу.
У нас есть 31 465 строк данных в нашей таблице SalesOrderHeader . В нашем первом примере мы продемонстрируем, как мы можем использовать функцию COUNT , подсчитывая строки в нашей таблице. Наша команда должна выглядеть как на картинке ниже.
Мы успешно подсчитали все строки в нашем SalesOrderHeader и назвали его countofrows . Как только мы выполним эту команду, мы получим 31 465 строк .
Вернемся к нашему набору данных. Используя ту же агрегатную функцию , посчитаем, сколько SalesPersonID содержится в нашей таблице. Наша команда должна быть:
Когда мы выполним нашу команду, она специально извлечет данные из столбца SalesPersonsID и предоставит нам столбец с именем countofsalespersons с результатом 3806 .
Использование агрегатных функций в одном запросе
Двигаясь дальше, давайте обсудим, как мы можем использовать несколько агрегатных функций в одном запросе. Мы будем использовать функции SUM , AVG и MAX для агрегирования наших столбцов TotalDue и TaxAmt .
Мы можем использовать несколько агрегатных функций в одном запросе, поставив запятую после каждой функции.
Как только мы выполним эту команду, наш результат должен выглядеть как на изображении ниже.
Теперь мы можем видеть разные столбцы вместе с их соответствующими значениями, используя несколько агрегатных функций .
Давайте попробуем выполнить команду, которая вызовет ошибку, чтобы подчеркнуть, почему мы должны использовать предложение GROUP BY при выборе столбцов. Мы будем использовать тот же пример с несколькими функциями, но на этот раз мы выберем CustomerID .
Как видите, в нем говорится, что команда недействительна, поскольку CustomerID не содержится ни в агрегатной функции , ни в предложении GROUP BY .
Пример сценария с предложением GROUP BY
В нашем следующем примере давайте исправим нашу ошибку, предоставив предложение GROUP BY в нашей команде.
Мы только что добавили CustomerID в предложение GROUP BY , и теперь мы можем видеть суммирование, среднее и максимальное значение наших TotalDue и TaxAmt по CustomerID. Мы также можем видеть, что у нас всего 19119 строк .
Давайте рассмотрим наш последний пример, обсудив, почему для нас важно убедиться, что неагрегированные столбцы и выражения включены в предложение GROUP BY .
В нашей таблице SalesOrderHeader есть столбец OrderDate . Допустим, мы хотим получить сумму TotalDue по годам. Если мы не будем указывать все неагрегированные столбцы и выражения, нам нужно использовать команду с изображения ниже.
Обратите внимание, как мы можем получить результат, а не ошибку. Однако у нас есть несколько отчетов за один и тот же год, когда наша цель состоит в том, чтобы сводить отчеты к одному конкретному значению за год.
Чтобы исправить нашу ошибку, мы должны убедиться, что мы также включили выражение в наше предложение GROUP BY . Наша новая команда должна быть:
После выполнения команды мы видим, что мы успешно получили сумму OrderDate за год.
Предложение HAVING в агрегатных функциях SQL,
хранимых процедурах в SQL | Обзор
эффективных способов использования функции GROUPBY в LuckyTemplates
Заключение
Подводя итог, вы получили некоторые базовые знания об использовании агрегатных функций в SQL. Агрегированные функции идеально подходят для работы с большими отчетами или наборами данных, поскольку они обеспечивают удобство для аналитиков при анализе и обобщении данных.
Надеемся, что это руководство поможет вам лучше попрактиковаться в использовании различных агрегатных функций в SQL. Если вы хотите узнать больше об этой теме и другом связанном контенте, вы, безусловно, можете просмотреть список соответствующих ссылок ниже.
Всего наилучшего,
Хафиз
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать