sql - 如何在mysql中使用count和order by与inner join?
问题描述
如何显示部门名称和为该部门工作的员工人数。
我的 SQL 代码:
SELECT department.dname , employee.count(*)
FROM employee
INNER JOIN department
ON dno=dnumber
ORDER BY department.dname;
解决方案
正确的语法是:
select d.dname, count(*)
from employee e inner join
department d
on d.dno = e.dnumber
group by d.dname
order by d.dname;
笔记:
- 您正在描述每个部门一行的聚合查询。这表明
GROUP BY
. - 表别名使查询更易于编写和阅读。
- 限定所有列名。我必须猜猜桌子
dno
是从哪里来的。应该没有理由猜测。
推荐阅读
- java - 什么是 junit-bom 和 junit 平台,我应该将它们包含在 gradle 依赖项中吗?
- sql - SQL 查询不检索正确的结果与计数
- android - CSS 到 android Drawable xml
- powershell - 有人可以告诉我这些安装 Chocolatey 的 PowerShell 脚本是否安全?
- identityserver4 - Identity Server 4:IProfileService.GetProfileDataAsync 中的 RequestedClaimTypes 不包括 IdentityResourceClaims
- c++ - 是否有比 std::mutex 更轻的互斥锁用于单写单读数据保护?
- c# - 如何使用此 foreach 循环编写 linqu 查询
- laravel - 为什么我已经导入此错误:找不到“App\cat”
- python-3.x - 如何在 elasticSearch 中嵌入方程查询
- node.js - node-pre-gyp --fallback-to-build error while installing canvas module