sql >> データベース >  >> RDS >> Mysql

テーブルで使用されていないすべての日付を返すSQLクエリ

    その通りです— 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;
    


    1. リクエストが失敗したか、サービスがタイムリーに応答しませんでしたか?

    2. Accessで重複レコードを見つける方法

    3. ユーザー名がデータベースMySQLPHPにすでに存在するかどうかを確認します

    4. 主キーもインデックスですか?