Group by в sql
Відео: SQL: Group By, Having, Min, Max Sum
Однією з важливих команд в SQL є GROUP BY. Дана конструкція створена для вибірки окремих груп рядків з таблиці, до кожної з яких застосовуються функції, зазначені в SELECT (Наприклад, COUNT (), MIN () і так далі). Давайте розберемо GROUP BY в SQL на конкретних прикладах.
Припустимо, у нас є таблиця супермаркетів:
- id - унікальний ідентифікатор.
- shop_id - унікальний ідентифікатор супермаркету.
- price - ціна на молоко.
Нам необхідно дізнатися середню ціну на молоко у кожного супермаркету. Зверніть увагу, що shop_id може повторюватися (адже є мережі супермакетів). Тому нам необхідно зробити групу по shop_id, і для кожного рядка в цій групі обчислити середню ціну.
Вихідна таблиця виглядає наступним чином:
id | shop_id | price |
1 | 1 | 40 |
2 | 2 | 36 |
3 | 1 | 35 |
4 | 3 | 38 |
5 | 4 | 39 |
6 | 3 | 38 |
7 | 3 | 35 |
Для вирішення нашої задачі ми використовуємо GROUP BY:
Відео: SQL GROUP BY
SELECT `shop_id`, AVG(`price`) FROM `table` GROUP BY `shop_id`
В результаті вийде наступне:
shop_id | AVG ( `price`) |
1 | 37.5 |
2 | 36.0 |
3 | 37.0 |
4 | 39.0 |
Таким чином, ми дізналися середню ціну в конкретній мережі супермаркетів (або в одиночному магазині).
Відео: SQL для початківців. SQL запит SELECT GROUP BY: угруповання даних вибірки в базах даних SQLite
Ще одним дуже частим застосуванням GROUP BY в SQL є вибірка унікальних записів з таблиць. У попередньому прикладі Ви помітили, що в результуючій вибірці немає повторюваних shop_id, тоді як у вихідній таблиці вони були.
Припустимо, у нас є таблиця з користувачами:
- id - унікальний ідентифікатор.
- email - e-mail користувача.
- hash - унікальний хеш користувача.
І перед нами постало завдання вибрати унікальних користувачів, причому саме унікальних людей, а не унікальних облікових записів. Адже в однієї людини може бути і 100 акаунтів з різними e-mail і, зрозуміло, id. А hash - це якась рядок, що характеризує його як унікальної людини.
Таким чином, нам треба вибрати всі записи з унікальним hash. Для цього знову ж використовується GROUP BY:
SELECT * FROM `table` GROUP BY `hash`
В результаті, будуть вилучені тільки унікальні hash, тобто 2 однакових hash в результуючої вибіркою Ви не побачите.
Ось таких два практичних приклад використання GROUP BY в SQL ми розібрали.
- Secureit
- Special forces group 2
- Team group: msata ssd-накопичувачі mp1
- Huntkey es 90w ultra edition - універсальний блок живлення для ноутбуків
- Як зробити підписку на сайті (v2)
- Як дізнатися кількість записів в sql-вибірці
- Як зробити багаторівневе меню-аккордіон на css3.
- Команда arp - перегляд і зміна таблиць arp.
- Команда sc - управління службами.
- Команда nbtstat - відображення статистики та поточних підключень nbt (netbios через tcp / ip)
- Лічильник звернень до файлів
- Конструкція where в sql
- Глава microsoft стів баллмер оголосив про великі зміни
- Тематичний флеш-брелок від team group
- Створення тригерів в mysql
- Having в sql
- Api vulkan: новий графічний стандарт представлений офіційно
- Samsung почне випуск мобільних пристроїв з гнучким дисплеєм в 2013 році
- Властивості css3 - box-ordinal-group і box-orient.
- Оператор between в sql.
- Фільтр пошуку на php