SUM欄

2016-04-12 4 views
1

私は2つのテーブル、パッケージました:SUM欄

id, ..., priceフィールド

やユーザー:

id, ..., package_id

をので、すべてのユーザーが(ユーザーが同じパッケージを持つことができるパッケージを持っています)価格がある。

と私はすべてのユーザーのpriceのSUMを計算したいと思いますが、これを行うにはどのように最善の方法ですか?好ましくはSQLのみを使用します。ユーザーテーブルには約1mのユーザーがいることを覚えておいてください。 SUMのようなグループ化機能を使用する場合、それは、グループに必要とされる

答えて

0
SELECT SUM(price_x_user) 
FROM (
    SELECT price AS price_x_user, 
     users.id 
    FROM users 
    INNER JOIN packages ON packages.id = users.package_id 
) AS users_package 
+0

合計のようなグループ化機能を使用するときにグループ化する必要があります – Erick

+0

あなたは正しいです、私はそれを忘れます –

0
Select id, SUM(price) from users t 
Left join package p on p.id = t.id 
group by t.id 

+0

あなたは '... on p.id = t.package_id ...'を意味していますか?しかし、とにかくそれは動作しません...何らかの理由でpはNULLです。現在のデータベースでは、すべてのユーザに 'package_id = 17'があり、' id = 17'のパッケージが存在します –