その通りです— SQLでは、欠落しているデータを簡単に特定することはできません。通常の手法は、完全なシーケンスに対して(ギャップを使用して)シーケンスを結合し、データに対応するパートナーがない状態で、後者のシーケンスでそれらの要素を選択することです。
したがって、@BenHoffsteinの
それ以外の場合は、整数テーブル
。 integers
を想定 テーブルには列i
があります 少なくとも0〜13の数値で、テーブルにdatestamp
という名前の日付列があること :
SELECT candidate_date AS missing
FROM (SELECT CURRENT_DATE + INTERVAL i DAY AS candidate_date
FROM integers
WHERE i < 14) AS next_two_weeks
LEFT JOIN my_table ON candidate_date = datestamp
WHERE datestamp is NULL;