Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Подзапросы в предложении HAVING

Вы можете также использовать подзапросы внутри предложения HAVING. Эти подзапросы могут использовать свои собственные агрегатные функции, если они не производят многочисленных значений или использовать GROUP BY или HAVING. Следующий запрос является этому примером ( вывод показывается в Рисунке 10.7 ):

SELECT rating, COUNT ( DISTINCT cnum ) FROM Customers GROUP BY rating HAVING rating > ( SELECT AVG (rating) FROM Customers WHERE city = " San Jose ';

SQL Execution Log

SELECT rating,count (DISTINCT cnum)

FROM Customers GROUP BY rating

HAVING rating >

(SELECT AVG (rating)snum + 1000 | | FROM Custimers

WHERE city = ' San Jose '

rating  
200 2

Рисунок 10.7: Нахождение заказчиков с оценкой выше среднего в San Jose

Эта команда подсчитывает заказчиков с оценками выше среднего в San Jose. Так как имеются другие оценки отличные от 300, они должны быть выведены с числом номеров заказчиков, которые имели эту оценку.