我创建了一个名为Employee的表和名为Branch的表的数据库,Employee和Branch之间存在多对一的关系,我想进行查询以选择具有最大员工数的分支
答案 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;