2014-10-04 130 views

回答

0

加入订单和员工表,然后按需要包括其他列(S)

SELECT 
     co.Staff_No 
    , s.First_name 
    , COUNT(*) AS "Number Of Orders" 
FROM Cust_Order co 
INNER JOIN Staff s on co.Staff_No = s.Staff_No 
GROUP BY 
     co.Staff_No 
    , s.First_name 
; 
+0

非常感谢,正是我需要的! – doublelift2 2014-10-04 02:36:17

0
SELECT DISTINCT 
    STAFF_NO, 
    FIRST_NAME, 
    COUNT (*) OVER (PARTITION BY STAFF_NO) AS "Number Of Orders" 
FROM CUST_ORDER; 

使用不同的,因为可能有重复结果的情况下,FIRST_NAME不独特。

+0

对不起,但不同的是不这样做,提示:count()是一个聚合函数与群相关的.... – 2014-10-04 02:15:50

+0

你甚至尝试过这种解决方案吗? Count在这里用作分析函数。 – 2014-10-04 05:07:53

+0

不起作用m1 – doublelift2 2014-10-04 06:54:37

0

得到计数作为一个子查询

Select First_Name, 
(Select Count(*) From Cust_Order o 
     Where o.STAFF_NO = Cust_Order.STAFF_NO) "Number Of Orders" 
From Cust_Order 
相关问题