2008年9月12日金曜日

SELECTの集計結果を UPDATE

Mysql で二つのテーブルがあって、一方のテーブルで集計したものを

もう一方のデータにいれたい場合、

KeyがユーザーIDで結びついてるとすると

UPDATE user AS u
SET total = (
SELECT SUM(s.score) FROM score s
WHERE s.user_id = u.id
GROUP BY s.user_id
);

となる。

WHERE 書いてからGroup by 構文を書くんだね。

まーそうなんだろうけど、ややはまった。

0 件のコメント:

コメントを投稿