このステートメントを実行するたびにデータが挿入されないことを期待しています。1 日に 1 回だけ効果的にデータを挿入する必要があります。それが私がこれをしたいことです。ここで私の論理に何か問題がありますか? date(now())
今日の日付を挿入するように使用しています。これをべき等挿入にする必要があります。
INSERT INTO newsletter_subscription_counts
(query_date, community_id, mailing_list, subscription_count)
SELECT date(now()), a.community_id,
a.newsletter_type::mail_list_types,
count(a.subscriber_user_id)
FROM
newsletter_subscribers_main a
LEFT OUTER JOIN newsletter_subscription_counts b
ON (a.community_id = b.community_id)
AND (a.newsletter_type::mail_list_types = b.mailing_list)
AND (a.created_at = b.query_date)
WHERE b.query_date is null
AND b.mailing_list is null
GROUP BY a.community_id, a.newsletter_type, a.created_at