我有一個問題,很容易計算一些簡單的平均值。我的表格:獲得數量的平均數
id/user/action /data
1/a /unit_price/40
2/a /quantity /1
3/b /unit_price/70
4/b /quantity /2
Unit_price是用戶的價格,數量是數量。所以我應該得到: (40 + 70 + 70)/ 3 = 60
如果我做一個
(AVG(action) WHERE action = unit_price)
我得到:
(70+40)/2 = 55
如果我這樣做an
(SUM(action) WHERE action = unit_price)/(SUM(action) WHERE action = quantity)
我得到:
110/3 = 36.6
,我發現最簡單的方法就是不要把UNIT_PRICE但全球價格則使PHP代碼的劃分,以獲得UNIT_PRICE,但我希望能SQL爲我做點事情。
我不認爲你的任何解決方案可以工作,但我需要更具體:1 /這只是全局請求的一部分,所以我認爲我將無法添加更多的聯接和內部SELECT 2 /獲得一個單位unit_price和單獨的數量不會改變問題3 /是的,我不想要一個特定用戶的平均價格,但全球4 /正確的答案通過乘以數量和unit_price爲每個用戶然後經典的平均數學 – pierreaurelemartin
Lamak's和Olivier的答案似乎完美地回答了你的問題。 (在一些假設下)bluefeet和Raphael也是如此。如果你的查詢/要求比較複雜,那麼回答者就沒有心理上的能力來猜測這些是什麼。 –
好吧,我得到了很好的答案。只需要找出如何把它放在我的大查詢中。感謝所有人 – pierreaurelemartin