2009-12-07 47 views

回答

3

我如何让所有用户连同他们拥有的下载数量一起?

用途:

SELECT u.name, 
     COUNT(d.user_id) 'num_downloaded' 
FROM USERS u 
OIN DOWNLOADS d ON d.user_id = u.user_id 
GROUP BY u.name 

如果你想看看有多少次用户下载一个特定项目:

SELECT u.name 'user_name', 
     i.name 'item_name', 
     COUNT(d.user_id) 'num_downloaded' 
FROM USERS u 
JOIN DOWNLOADS d ON d.user_id = u.user_id 
JOIN ITEMS i ON i.item_id = d.item_id 
GROUP BY u.name, i.name 
+0

你太有帮助。非常感谢! – 2009-12-07 05:37:39

0

这应做到:

SELECT u.name as name, count(*) as downloads 
FROM users u, items i, downloads d 
WHERE u.id = i.user_id AND i.user_id = d.user_id; 

我不得不发明items.user_id,但它应该是可用的。

相关问题