ホームページ > データベース > mysql チュートリアル > レポート作成のために SQL データを月と年でグループ化するにはどうすればよいですか?

レポート作成のために SQL データを月と年でグループ化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-05 12:10:43
オリジナル
140 人が閲覧しました

How Can I Group SQL Data by Month and Year for Reporting?

SQL データを月と年でグループ化する

SQL クエリでは、分析のためにデータを月と年でグループ化することが必要になることがよくあります。これには、目的のグループ化の組み合わせを表す新しい列の作成が含まれます。

次のクエリを考えてみましょう:

SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY MONTH(date), YEAR(date)
ログイン後にコピー

このクエリはデータを月ごとにグループ化し、9 月の「9」のような出力が得られます。 。月と年を一緒に表示するには、CAST 関数を使用して月と年の値を文字列に変換し、それらをハイフンで連結します。

SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))
ログイン後にコピー

この変更により、結果が目的の形式で表示されます。例: "9-2011"。

または、先頭にゼロを付けた CAST 関数を使用して、一貫性を確保することもできます。 formatting:

GROUP BY
  CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
ログイン後にコピー

これにより、「2011-09」のような出力が得られます。

以上がレポート作成のために SQL データを月と年でグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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