【问题标题】:Count items in SQL Table统计 SQL 表中的项目
【发布时间】:2017-05-20 17:10:14
【问题描述】:

我需要编写一个查询,该查询将打印给定这两个表的所有部门的相应部门名称和员工人数,并按降序排列。

Employee 
---------------
ID        Integer
NAME      String
SALARY    Integer
DEPT_ID   Integer

Department
---------------
DEPT_ID     Integer
NAME        String
LOCATION    String

【问题讨论】:

  • 尝试使用 group by 子句。

标签: sql select mysqli


【解决方案1】:

您可以按department.name 分组并将count(*) 应用于每个组:

SELECT   d.name, COUNT(*)
FROM     department d
JOIN     employee e ON d.dept_id = e.dept_id
GROUP BY d.name
ORDER BY 2 ASC, 1 ASC

【讨论】:

  • 如果两个部门的员工数量相同,如何按姓名字母排序?
  • ORDER BY 2 ASC, d.name ASC
  • @ralphie9224 您可以在order by 子句中添加另一个术语 - 请参阅我编辑的答案。
  • 不过,一般来说,好的答案可能是定义别名并使用它们而不是索引的更好做法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-22
  • 2020-07-19
  • 2014-06-15
  • 1970-01-01
  • 2014-01-29
相关资源
最近更新 更多