SQL Query用于选择最大员工数量的分支的名称

时间:2013-12-11 15:09:27

标签: sql sql-server sql-server-2008 select

我创建了一个名为Employee的表和名为Branch的表的数据库,Employee和Branch之间存在多对一的关系,我想进行查询以选择具有最大员工数的分支

2 个答案:

答案 0 :(得分:5)

这应该让你开始:

SELECT TOP 1 BranchId, COUNT(*) FROM Employee
 GROUP BY BranchId
 ORDER BY COUNT(*) DESC

这将为您提供拥有最多员工数量的BranchId - 然后您可以将其用作其他查询的一部分,以获取您需要的信息。

答案 1 :(得分:1)

在表Employee和表分支中有一个名为branchID的列,您可以这样做:

获取大多数Employees的branchID:

 SELECT TOP 1 branchID
 FROM employee
 GROUP BY branchID
 ORDER BY COUNT(*) DESC

然后从分支表中获取所有信息:

SELECT b.*
FROM branch b
INNER JOIN 
(
 SELECT TOP 1 branchID
 FROM employee
 GROUP BY branchID
 ORDER BY COUNT(*) DESC
) c ON b.branchID = c.branchID;