Основы PL/pgSQL в СУБД PostgreSQL

Курс по изучению процедурного расширения PL/pgSQL в СУБД PostgreSQL. Основная концепция PL/pgSQL заключается в том, чтобы преодолеть ограничения языка SQL и предоставить разработчикам новые возможности для работы с базами данных.

Поступить на курс

Погружение в базы данных PostgreSQL

Данный курс является консолидацией теоретических основ и практических примеров, которые демонстрируют работу операторов и функций SQL в системе управления базами данных PostgreSQL.

Поступить на курс

JSON в PostgreSQL

Курс «JSON в PostgreSQL» познакомит вас с форматом JSON и покажет, как создавать и обрабатывать JSON-данные в СУБД PostgreSQL.

Поступить на курс

XML в PostgreSQL

Курс по изучению и практическому применению расширяемого языка разметки XML (eXtensible Markup Language) в системе управления базами данных PostgreSQL.

Поступить на курс

Оконные функции в PostgreSQL

Курс по изучению и практическому применению оконных функций в системе управления базами данных PostgreSQL.

Поступить на курс

Массивы в PostgreSQL

Курс по изучению и практическому применению массивов (array) в системе управления базами данных PostgreSQL.

Поступить на курс

 ›  ›  ›  › Оператор HAVING в SQL

Оператор HAVING в SQL

Оператор HAVING применяется для фильтрации строк по значениям агрегатных функций.

Обратите внимание, что оператор HAVING похож на оператор WHERE, но они отличаются друг от друга.

Давайте рассмотрим различия HAVING от WHERE:

  • WHERE – сначала выбираются записи по условию, а затем могут быть сгруппированы, отсортированы и т.д
  • HAVING – сначала группируются записи, а затем выбираются по условию, при этом, в отличие от WHERE, в нем можно использовать значения агрегатных функций.

Синтаксис оператора HAVING

SELECT поля_таблиц 
FROM список_таблиц 
GROUP BY поля_группировки 
HAVING условие_на_ограничение_строк_после_группировки

Практический пример

Выведем из таблицы Users общую сумму, потраченную на покупки, для каждого пользователя, где общая сумма покупки меньше, чем 3000 рублей.

SELECT user_id, SUM(count_product * unit_price) as 'sum'
FROM Users
GROUP BY user_id
HAVING sum < 3000;

Метки: , .

Записи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *