2014-10-04 66 views
0

我想找到處理了最大數量的訂單的工作人員,我的 以下代碼是不正確的,如果這可以更正,這將是偉大的!同時使用擁有和嵌套(最大)組功能

SELECT 
    c.Staff_No, s.First_name, s.Last_Name, COUNT(*) AS "Number Of Orders"   
FROM 
    Cust_Order c    
INNER JOIN 
    Staff s on c.Staff_No = s.Staff_No  
GROUP BY 
    c.Staff_No, s.First_name, s.Last_Name 
HAVING 
    Number Of Orders(max) 
ORDER BY 
    c.Staff_No; 

回答

3

有很多方法可以得到這個。一種明顯的方式:

select 
    Staff_No, First_name,Last_Name, ordcnt as "Number of Orders" 
FROM 
    (SELECT 
     c.Staff_No, s.First_name, s.Last_Name, COUNT(*) as ordcnt   
    FROM 
     Cust_Order c    
    INNER JOIN 
     Staff s on c.Staff_No = s.Staff_No  
    GROUP BY 
     c.Staff_No, s.First_name, s.Last_Name 
    ORDER BY 
     ordcnt desc) 
where rownum<=1;