2011-07-31 32 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

相关问题