2010-06-21 183 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