可能使用group_by的Sums数

时间:2010-05-25 19:21:34

标签: sql mysql

假设您有一个用户表和一个引用用户(用户has_many订单)并包含项目计数字段的订单表。

你怎么能有效地问“有多少用途订购了多少项?”

也就是说,要生成以下内容:

Number of users | sum of items
-------------------------------
5 users         | 1 item
4 users         | 5 items
1 user          | 7 items

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要使用派生表:

SELECT COUNT(*) AS `Number of Users`, `Sum of Items` 
FROM (
    SELECT u.UserID, SUM(ItemCount) AS `Sum of Items`
    FROM User u
    INNER JOIN Order o ON u.UserID = o.UserID
    GROUP BY u.UserID
) g
GROUP BY `Sum of Items`