MySQL での週によるグループ化: YEARWEEK 関数
MySQL には、データを週ごとにグループ化するために使用できる YEARWEEK 関数が用意されています。この関数は、指定された日付の年と週番号を表す文字列を返します。例:
SELECT YEARWEEK('2023-03-08')
は「202309」を返します。これは、2023 年 3 月 8 日が 2023 年の第 9 週に当たることを示しています。
YEARWEEK 関数には、週の開始モードを指定するオプションの 2 番目の引数が含まれています。デフォルトは 1 で、週が日曜日から始まることを示します。モード 0 は週が月曜日に始まることを示し、モード 2 は週が土曜日に始まることを示します。
YEARWEEK 関数を使用してデータを週ごとにグループ化するには:
SELECT YEARWEEK(date, 0), COUNT(*) FROM table GROUP BY YEARWEEK(date, 0)
このクエリは、週が月曜日から始まると仮定して、「テーブル」内の行を年間の週ごとにグループ化します。 'COUNT(*)' 関数は、各週の行数をカウントします。
YEAR 関数と WEEK 関数の組み合わせ
週ごとにグループ化する別の方法は、次の方法です。 YEAR 関数と WEEK 関数の組み合わせ。これは、グループ化ロジックをより詳細に制御したい場合に便利です。たとえば、次のクエリは、週の開始モードに関係なく、年と週番号でデータをグループ化します。
SELECT YEAR(date), WEEK(date), COUNT(*) FROM table GROUP BY YEAR(date), WEEK(date)
EDIT:
Martin が次のように述べています。コメントを使用する場合は、次の式を使用して週ごとにグループ化することもできます。
CONCAT(YEAR(date), '/', WEEK(date))
このアプローチは、 YEARWEEK 関数。
以上がMySQL でデータを週ごとにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。