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

木曜日に開始し、水曜日に終了する今週のMySQLクエリ年週

    WEEKDAY() これは、曜日(0 =月曜日、6 =日曜日)を表す数値と、このクエリを書き直すための簡単な計算を返します。

    選択した日付から週を開始する曜日(この場合は4 =木曜日)を減算し、7を加算し、残りを7から取得します。これにより、範囲の開始を取得するために減算する日数が得られます。

    同様のロジックが範囲の終了日を計算するために適用されます。

    SELECT * 
    FROM transactions 
    WHERE DATE(transactionDate)
        BETWEEN DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
            AND DATE_ADD(DATE(NOW()), INTERVAL 6 - (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
    ORDER BY transactionDate DESC;
    

    別の開始日については、 4を平日に置き換えてください クエリで。



    1. SQLServerデータベースのバージョン管理

    2. Slick 3.0を使用してMysqlに接続する-ユーザー名、パスワード、および偽のドライバーがエラーと等しくない

    3. 非常に大きなテーブルでの(列ストア)圧縮の楽しみ–パート2

    4. クエリプロファイリング101—はい、SQLServerのパフォーマンスを本当に向上させることができます