Агрегатні функції в SQL та їх використання

У цьому посібнику ми обговоримо різні агрегатні функції в SQL і те, як ми можемо їх використовувати. У SQL агрегатні функції використовуються для накопичення даних із кількох рядків в один підсумковий рядок. 

Агреговані функції в SQL можуть бути дуже корисними для аналітиків під час узагальнення даних.

Зміст

Часто використовувані агрегатні функції в SQL

Нижче наведено деякі агрегатні функції, які найчастіше використовуються в SQL .

Агрегатні функції в SQL та їх використання

Зауважте, що функції та зазвичай використовуються у валютах або цілих значеннях. Функція AVG повертає не лише середнє, але й середнє значення стовпця. Крім того, агрегатна функція є єдиною, яка не ігнорує нульові значення під час виконання обчислень.

Давайте створимо кілька прикладів команд, використовуючи наші п’ять агрегатних функцій із прикладом таблиці нижче.

Агрегатні функції в SQL та їх використання

Спочатку створимо команду за допомогою функції MAX . Скажімо, ми хочемо в стовпці ProductName. Наша команда має виглядати приблизно так, як на зображенні нижче.

Агрегатні функції в SQL та їх використання

Оскільки ми знаходимо найцінніший продукт, нам потрібно отримати його ціни, які знаходяться в стовпці ProductPrice . Завжди вказуйте псевдонім, щоб надати ім’я для вихідного стовпця. Якщо ми виконаємо цю команду, вона покаже нам найцінніший продукт лише з одним значенням. 

Далі створимо команду за допомогою функції MIN . Оскільки функція MIN дещо схожа на функцію MAX , ми просто використаємо той самий приклад, що й у функції MAX , але цього разу ми знайдемо продукт із найменшим значенням.

Агрегатні функції в SQL та їх використання

Коли ми виконаємо цю команду, вона отримає найнижчий продукт у нашій таблиці зразка.

Тепер створимо команду за допомогою функції COUNT . Скажімо, ми хочемо знайти кількість продуктів у стовпці ProductID . Наша команда має виглядати приблизно так, як на зображенні нижче.

Агрегатні функції в SQL та їх використання

Якщо ми виконаємо цю команду, вона покаже нам кількість кожного продукту в стовпці ProductID і відповідну ціну.

Агрегатні функції та речення GROUP BY

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

Здебільшого використовується в агрегатних функціях, оскільки повертає один запис із кожної групи. Крім того, усі стовпці в інструкції SELECT, навіть без агрегування, мають бути включені.

Давайте обговоримо, як ми будемо використовувати агрегатні функції з реченням GROUP BY, за допомогою прикладу таблиці нижче.

Агрегатні функції в SQL та їх використання

По-перше, давайте спробуємо виконати команду без використання пропозиції GROUP BY, щоб побачити різницю. Давайте знайдемо загальну суму продажу в стовпці ProductName . Наша команда має виглядати приблизно так, як на зображенні нижче.

Агрегатні функції в SQL та їх використання

Як ви помітили, команда схожа на попередні приклади, які ми згадували на початку цього підручника. Після того як ми виконаємо цю команду, вона просто обчислить загальну суму в стовпці SaleAmount , яка буде 28 .

Тепер розглянемо ще один приклад із використанням пропозиції GROUP BY

Агрегатні функції в SQL та їх використання

Оскільки ми використовуємо речення GROUP BY , тепер ми можемо використовувати кілька стовпців. Цього разу ми хочемо побачити загальну суму продажу на категорію.

Речення GROUP BY гарантує, що в результаті відображатиметься підсумок продажів для кожної категорії, і якщо його виконати, результатом буде зображення нижче.

У цьому прикладі важливо використовувати речення GROUP BY, оскільки в іншому випадку виникне помилка. Це тому, що категорія не міститься в реченні GROUP BY або агрегатній функції.

Агрегатні функції в SQL та їх використання

Розглянемо той самий приклад, але цього разу ми також отримаємо загальну SaleAmount за ProductName . Наша команда має виглядати приблизно так, як на зображенні нижче.

Агрегатні функції в SQL та їх використання

Щойно ми виконаємо нашу команду, результат покаже підсумок продажів за категорією та ProductName .

Агрегатні функції в SQL та їх використання

Пам’ятайте, що ви не можете використовувати або отримати доступ до кількох стовпців без використання пропозиції GROUP BY , оскільки якщо ви це зробили, це спричинить помилку після виконання команди.

Агреговані функції в SQL Server Management Studio (SSMS)

Давайте тепер обговоримо, як ми можемо використовувати агрегатні функції в . У наших прикладах ми будемо використовувати таблицю нижче.

Агрегатні функції в SQL та їх використання

У нашій таблиці SalesOrderHeader є 31 465 рядків даних . У нашому першому прикладі ми продемонструємо, як ми можемо використовувати функцію COUNT , підраховуючи рядки в нашій таблиці. Наша команда має виглядати як на зображенні нижче.

Агрегатні функції в SQL та їх використання

Ми успішно підрахували всі рядки в нашому SalesOrderHeader і назвали його countofrows . Після того, як ми виконаємо цю команду, ми матимемо результат із 31 465 рядків .

Повернемося до нашого набору даних. Використовуючи ту саму агрегатну функцію , давайте порахуємо, скільки SalesPersonID є в нашій таблиці. Наша команда повинна бути:

Агрегатні функції в SQL та їх використання

Коли ми виконаємо нашу команду, вона спеціально отримає дані зі стовпця SalesPersonsID і надасть нам стовпець із назвою countofsalespersons із результатом 3806 .

Агрегатні функції в SQL та їх використання

Використання агрегатних функцій в одному запиті

Рухаючись далі, давайте обговоримо, як ми можемо використовувати кілька агрегатних функцій в одному запиті. Ми будемо використовувати функції SUM , AVG і MAX для агрегування наших стовпців TotalDue і TaxAmt

Агрегатні функції в SQL та їх використання

Ми можемо використовувати кілька агрегатних функцій в одному запиті, поставивши кому після кожної функції. 

Агрегатні функції в SQL та їх використання

Після того, як ми виконаємо цю команду, наш результат має виглядати як на зображенні нижче. 

Агрегатні функції в SQL та їх використання

Тепер ми можемо побачити різні стовпці разом із відповідними значеннями за допомогою кількох агрегатних функцій

Давайте спробуємо виконати команду, яка викличе помилку, щоб підкреслити, чому ми повинні використовувати речення GROUP BY під час вибору стовпців. Ми використаємо той самий приклад із використанням кількох функцій, але цього разу ми виберемо CustomerID .

Агрегатні функції в SQL та їх використання

Як бачите, команда недійсна, оскільки CustomerID не міститься ні в агрегатній функції , ні в реченні GROUP BY .

Приклад сценарію з пропозицією GROUP BY

Для нашого наступного прикладу, давайте виправимо нашу помилку, надавши пропозицію GROUP BY у нашій команді.

Агрегатні функції в SQL та їх використання

Ми щойно додали CustomerID у пункт GROUP BY , і тепер ми можемо побачити підсумкове, середнє та максимальне значення наших TotalDue і TaxAmt за CustomerID. Ми також бачимо, що у нас загалом 19119 рядків .

Давайте розглянемо наш останній приклад, обговорюючи, чому для нас важливо переконатися, що неагреговані стовпці та вирази включено до пропозиції GROUP BY .

У нашій таблиці SalesOrderHeader ми маємо стовпець OrderDate . Припустімо, ми хочемо отримати суму TotalDue за роками. Якщо ми не будемо вказувати всі неагреговані стовпці та вирази, нам потрібно використати команду із зображення нижче.

Агрегатні функції в SQL та їх використання

Зверніть увагу, як ми можемо отримати результат, а не помилку. Однак у нас є кілька звітів за один рік, коли наша мета полягає в тому, щоб у звітах було зведено одне конкретне значення на рік.

Щоб виправити нашу помилку, ми повинні переконатися, що ми також включили вираз у нашу пропозицію GROUP BY . Наша нова команда має бути:

Агрегатні функції в SQL та їх використання

Після виконання команди ми можемо побачити, що ми успішно отримали підсумок OrderDate за рік. 



Висновок

Підводячи підсумок, ви отримали деякі базові знання щодо використання агрегатних функцій у SQL. Агреговані функції можуть бути ідеальними під час роботи з великими звітами або наборами даних, оскільки вони забезпечують зручність для аналітиків під час аналізу та підсумовування даних. 

Сподіваємось, цей підручник допоможе вам краще попрактикуватися у використанні різних агрегатних функцій у SQL. Якщо ви хочете дізнатися більше про цю тему та інший пов’язаний вміст, ви, звичайно, можете переглянути список відповідних посилань нижче.

Все найкраще,

Хафіз

Leave a Comment

Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.