「ON DUPLICATE KEY UPDATE」という構文がMySQL独自のものと知ったときは軽くショックを受けました*1。 まあ、そんなことはどうでもいいんです。 通常、「INSERT INTO 〜 SELECT 〜」ってGROUP節を使って集計したものをどっかのテーブルに入れるとかっていう時に使うと思うんですが、その集計結果が既にあるときにUPDATEする、ということがしたいですよね。 例えば次のようなクエリで。 INSERT INTO total (id,count) SELECT id, count FROM daily GROUP BY date 私は最初次のようにやってみましたが、これはエラーになります。 INSERT INTO total (id,count) (SELECT id, count FROM daily GROUP BY date) t ON DUPLICAT