sql聚合-COUNT(*),SUM(),AVG()和GROUP BY作为关键字

时间:2018-10-14 15:21:21

标签: sql postgresql aggregate

学习SQL,难以集中精力进行聚合。每当我尝试在POSTGRESQL上编码时,似乎就无法正常工作。

如何将COUNT(*),SUM(),AVG()和GROUP BY组合为关键字?

示例:列出世界上所有地区的地区,国家/地区数量,总面积和每个国家/地区的平均面积。 !https://cdn.discordapp.com/attachments/499664226491564038/501053634864349204/unknown.png 1

1 个答案:

答案 0 :(得分:0)

这是一个例子。我们有一个名为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 here