ИМАЩИ в SQL
В предишната статия анализирахме GROUP BY в SQL. Там написах, че тази конструкция ви позволява да изберете отделни групи и за всяка група да изчислите функциите, посочени след ИЗБЕРЕТЕ. И ИМА позволява, според резултата от изпълнението на функции, да се филтрират допълнителни редове от групи. Нека анализираме това по-подробно.
Нека си припомним предишния ни проблем, където изчислихме средната цена на млякото за конкретна верига супермаркети. Нека не просто разгледаме средната цена при вас, но и да покажем само онези вериги супермаркети, където средна цена под 38.
За това филтриране въз основа на резултатите от изпълнението на агрегираната функция използвайте в SQL HAVING команда:
ИЗБЕРЕТЕ `shop_id`, AVG (` цена`) ОТ `таблица` GROUP BY` shop_id` ИМАЩЕ AVG (` цена`)
В резултат на това вместо 4 линии, които ще имаме само 3:
Ако конструкциите ГРУПИРАЙ ПО няма, тогава ИМА няма да се прилага за конкретна група, а за цялата извадка. Това означава, че ако състоянието ИМА ще бъде изпълнено, тогава няма да има ефект. И ако не се изпълни, тогава няма да има получен ред.
Използван от ИМАЩИ в SQL не толкова често, колкото другите команди, но е много желателно да се знае и да може да се използва.
Добави към моите приятели Във връзка с: http://vk.com/myrusakov.
Ако искате да оцените мен и работата ми, напишете го в моята група: http://vk.com/rusakovmy.
Препоръчайте тази статия на приятелите си:
Ако сайтът ви е харесал, публикувайте връзка към него (на вашия сайт, във форума, в контакт):
Изглежда така:
Коментари (1):
Можете също да добавите, че HAVING е като WHERE, който се използва само за GROUP BY
- Антисемитизмът като търговска марка, статии
- Брусници за диабет тип 2 - рецепти за напитки и фруктозен сироп
- Военноисторически форум Военен
- 10 актьори, осъдени за убийство (Снимки)
- Lingonberry за захарен диабет тип 2, листа от червена боровинка за диабетици