私は2つのテーブルを持っています:
purchase_mis(id, user_id, total_purchased, date)
daily_purchase(id, user_id, product_id, paid_amount, purchase_date)
私は毎晩実行するCRONファイルを持っています。それは"daily_purchase"
テーブルからの毎日の購入を数えて実行しinsert into "purchase_mis"
ます。
例えば:
SELECT
COUNT(*) AS purchase_count,
purchase_date
FROM daily_purchase
GROUP BY user_id;
これにより、すべてのユーザーが返さpurchase_count
れ、テーブルに挿入され"purchase_mis"
ます。
INSERT INTO
purchase_mis(user_id, total_purchased, date)
VALUES
('2', 'purchase_count', 'purchase_date');
user_id = 2
ただし、挿入する前に、ある日付 " "の購入情報purchase_date
が既に挿入されているかどうかを確認する必要があるため、再度挿入しないでください。
以下のクエリのようなものが必要です。
INSERT INTO
purchase_mis(user_id, total_purchased, date)
VALUES
('2', 'purchase_count', 'purchase_date')
WHERE date NOT EXISTS (SELECT date FROM purchase_mis WHERE user_id = '2');