2011-07-31 38 views
1

比方說,我有兩個表:選擇的次數一個查詢結果出現在另一個表

USERS: 
User_Id 
Hansen 
Nilsen 
Jensen 
Bob 

ORDERS: 
O_Id OrderDate OrderPrice Customer 
1  2008/11/12 1000  Hansen 
2  2008/10/23 1600  Nilsen 
3  2008/09/02 700   Hansen 
4  2008/09/03 300   Hansen 
5  2008/08/30 2000  Jensen 
6  2008/10/04 100   Nilsen 

我想做一個查詢,以顯示有多少次的客戶有序的,所以它會看起來像:

Customer Orders 
Hansen  3 
Nilsen  2 
Jensen  1 
Bob   0 

我知道我必須使用COUNT函數,但我在一個頭緒來完成這個查詢關...

+0

您應該在'USERS'表中使用混沌主鍵(AUTO_INCREMENT integer),並在'ORDERS'表中引用該標識符。加入整數對於數據庫來說比加入字符串「容易得多」。 – Shi

回答

5
SELECT  Customer, COUNT(*) AS Orders 
FROM   ORDERS RIGHT OUTER JOIN 
         USERS ON USERS.User_Id = ORDERS.Customer 
GROUP BY USERS.User_Id 
ORDER BY COUNT(*) DESC 
+0

問題是,這個留下bob出來... – pennstatephil

+0

@pennstatephil:編輯我的答案。 –

+0

那樣做了,謝謝! – pennstatephil

相關問題