【问题标题】:sql aggregation - COUNT(*), SUM(), AVG() and GROUP BY as keywordssql 聚合 - COUNT(*)、SUM()、AVG() 和 GROUP BY 作为关键字
【发布时间】:2018-10-14 15:21:20
【问题描述】:

学习 SQL,难以理解聚合。每次,我都尝试在 POSTGRESQL 上编写代码,似乎它永远不会工作。

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

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

【问题讨论】:

  • 请在您的问题中添加一些示例表数据。

标签: sql postgresql aggregate


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-09-18
    • 2020-08-07
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多