假设您有一个用户表和一个引用用户(用户has_many订单)并包含项目计数字段的订单表。
你怎么能有效地问“有多少用途订购了多少项?”
也就是说,要生成以下内容:
Number of users | sum of items
-------------------------------
5 users | 1 item
4 users | 5 items
1 user | 7 items
提前致谢。
答案 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`