2010-06-21 147 views
0

使用MAX聚合我有这两个表“订单”和“员工”在SQL Server 2005

Orders Table 

OrderID EmployeeID 
1    1 
2    1 
3    2 
4    7 
5    2 
.    . 
.    . 
.    . 

Employee Table 

EmployeeID Firstname 
1    Matin 
2    Sina 
3    Nima 
.    . 
.    . 
.    . 

我想找到它有更多的订单的员工的名字。

也是这不是我的家庭作业:) 我学习聚合函数 也是我的查询这项工作的一部分,但我不能让我不知道怎么能找到的最大???请帮帮我!谢谢

SELECt FirstName FROM Employees E INNER JOIN Orders O ON E.EmployeeID = O.EmployeeID (SELECT Count(EmployeeID) EmployeeCount FROM Orders GROUP BY EmployeeID) 

回答

2
Select TOP 1 WITH TIES FirstName, Count(OrderID) 
FROM Employees e 
INNER JOIN Orders o on e.EmployeeID = o.EmployeeID 
GROUP BY FirstName 
ORDER BY Count(OrderID) DESC 

应斗的伎俩

+0

不,我要显示它有更多的订单雇员的只是名字!例如考虑我的上面的Orders表有5行,我的Employees表有3行,因此会显示'新浪'和'马丁'! – user355002 2010-06-21 09:11:09

+0

拿走TOP 1。这将显示每个员工,他们的'订单'的数量按谁排序最多 – PostMan 2010-06-21 09:13:11

+0

哦没有数量? – PostMan 2010-06-21 09:14:08