SQL агрегация - COUNT (*), SUM (), AVG () и GROUP BY в качестве ключевых слов - PullRequest
0 голосов
/ 14 октября 2018

Изучаю SQL, испытываю трудности с агрегацией головы.Каждый раз, когда я пытаюсь написать код на POSTGRESQL, кажется, что он никогда не работает.

Как объединить COUNT (*), SUM (), AVG () и GROUP BY в качестве ключевых слов?

Пример: указать регион, количество стран, общую площадь и среднюю площадь застрана для всех регионов мира.! https://cdn.discordapp.com/attachments/499664226491564038/501053634864349204/unknown.png 1

1 Ответ

0 голосов
/ 14 октября 2018

Вот пример.У нас есть таблица с именем employee:

create table employee as
  select 1 as id, 'Bob' as name, 1000000 as salary, 'IT' as department union all
  select 2, 'John', 100000, 'IT' union all
  select 3, 'Tom', 10000, 'IT' union all
  select 4, 'Ann', 2000000, 'HR' union all
  select 5, 'Tony', 200000, 'HR' union all
  select 6, 'Mary', 20000, 'HR'

, и мы хотим знать количество сотрудников, а также общую и среднюю зарплату в каждом отделе.Мы можем получить это:

SELECT department, COUNT(*), SUM(SALARY), AVG(SALARY)
  FROM employee
  GROUP BY department

dbfiddle здесь

...