Having в sql

HAVING в SQL

Відео: SQL для початківців (DML): Фільтр угруповання HAVING (MySql), Урок 10!

У попередній статті ми розібрали GROUP BY в SQL. Там я написав, що дана конструкція дозволяє вибирати окремі групи і для кожної групи обчислювати функції, зазначені після SELECT. А HAVING дозволяє, згідно результату виконання функцій, відфільтрувати зайві рядки з груп. Розберемо це докладніше.

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




Для цієї фільтрації за результатами виконання агрегатної функції використовується в SQL команда HAVING:

SELECT `shop_id`, AVG(`price`) FROM `table` GROUP BY `shop_id` HAVING AVG(`price`)lt;38


В результаті, замість 4-х рядків у нас буде лише 3:

shop_id AVG ( `price`)
137.5
236.0
337.0

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

Відео: Tutoriales SQL Server # 26 | having

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

Поділися в соціальних мережах:

Схожі
Функції форматного виведення в phpФункції форматного виведення в php
Опис і застосування функції concat в sql.Опис і застосування функції concat в sql.
Запит sql для сортування результату вибіркиЗапит sql для сортування результату вибірки
Сортування в sql по одному полю, потім по іншомуСортування в sql по одному полю, потім по іншому
Як дізнатися кількість записів в sql-вибірціЯк дізнатися кількість записів в sql-вибірці
Як знайти помилку в sql-запитіЯк знайти помилку в sql-запиті
Group by в sqlGroup by в sql
Team group: msata ssd-накопичувачі mp1Team group: msata ssd-накопичувачі mp1
Ціна iphone 6 - нова інформаціяЦіна iphone 6 - нова інформація
Тематичний флеш-брелок від team groupТематичний флеш-брелок від team group
» » Having в sql