假設您有一個用戶表和一個引用用戶(用戶has_many的訂單)幷包含一個物料計數字段的訂單表。可能使用group_by的計數總數
你怎麼能有效地問「多少用途訂購了多少項目?」
也就是說,產生沿着線的東西:
Number of users | sum of items
-------------------------------
5 users | 1 item
4 users | 5 items
1 user | 7 items
在此先感謝。
假設您有一個用戶表和一個引用用戶(用戶has_many的訂單)幷包含一個物料計數字段的訂單表。可能使用group_by的計數總數
你怎麼能有效地問「多少用途訂購了多少項目?」
也就是說,產生沿着線的東西:
Number of users | sum of items
-------------------------------
5 users | 1 item
4 users | 5 items
1 user | 7 items
在此先感謝。
您需要使用派生表:
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`
完美,這正是我所期待的。 – 2010-05-25 19:42:08
這裏用戶表是不必要的。 – msi77 2010-05-25 19:55:38
@ msi77:是的,真的! – 2010-05-25 20:31:19
訂購表不一般包含項目信息。通常是一個orderDetails表,它具有OrderId,ItemNumber(ItemId)unitPrice和ItemCount ...或類似的東西。你確定你不是在討論OrderDetails表嗎? – 2010-05-25 19:44:06
實際的問題涉及安裝記錄和登錄計數,並且用戶可以安裝許多iPhone應用程序。以用戶和訂單的形式表達它的含義,因爲這只是將問題的核心視爲可視化的一種常見方式。 – 2010-05-25 20:51:37