MySQL での週によるグループ化: DATE_FORMAT を超えて
Oracle の便利な TRUNC 関数とは異なり、MySQL にはタイムスタンプを前の日曜日に変換する直接的な方法がありません。夜中。この課題に対処するには、MySQL ユーザーは別の手法を採用する必要があります。
1 つのアプローチは、次のように YEAR 関数と WEEK 関数を組み合わせることです。
SELECT YEAR(timestamp), WEEK(timestamp), ... FROM ... GROUP BY YEAR(timestamp), WEEK(timestamp)
もう 1 つのオプションは、YEARWEEK 関数を利用することです。オプションのモード パラメータを使用して、1 月 1 日をまたぐ週の処理方法を制御します。
SELECT YEARWEEK(mysqldatefield, mode) AS week, ... FROM ... GROUP BY week
これらの日付関数を 1 つの関数に組み合わせることで、
SELECT YEAR(timestamp) || '/' || WEEK(timestamp) AS week, ... FROM ... GROUP BY week
年の初めまたは終わりの不完全な週が望ましくない場合には、YEAR/WEEK アプローチが推奨される場合があります。あるいは、モードを 0 または 2 に設定して YEARWEEK を使用すると、1 月 1 日を含む場合も含めて完全な週ごとにグループ化することができます。
以上がMySQL データを週ごとに効率的にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。