ホームページ > データベース > mysql チュートリアル > MySQL でデータを週ごとにグループ化するにはどうすればよいですか?

MySQL でデータを週ごとにグループ化するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 18:46:20
オリジナル
734 人が閲覧しました

How Can I Group Data by Week in MySQL?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート