私は以下のようにテーブルT1と毎週を持っています:
CREATE TABLE T1 (
C1 varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
C2 varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
);
と
CREATE TABLE weekly (
C1 varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
C2 varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
year year(4) DEFAULT NULL,
week int(11) NOT NULL DEFAULT '0',
count int(11)
);
基本的に、私はすべての値グループを c1、c2 ごとに年および週ごとに合計したいと考えています。これらの値を「週ごと」のテーブルに保存する必要があります。このクエリは毎日実行され、エントリが既に存在する場合は置き換えられます。
そこで、replace into を使用しようとしました。
replace into weekly select year(timestamp) as year, week(timestamp) as week, C1, C2, count(*) as count from T1 where timestamp >= 20130606 and timestamp <= 20130613 group by C1,C2;
しかし、このクエリは新しいエントリを週次テーブルに追加していて、それを置き換えていません。なにが問題ですか?