[SQL Server]データを期間別に集計する
2020/01/09
SQL Serverで集計表を出力
日付をDATETIME型で管理している場合、CONVERT関数、DATEPART関数を使って、日、週、月、年別の集計結果を出力することができます。
週別の集計は日曜はじまりなので注意する
集計方法
日次集計
-- 日次(CONVERT) SELECT CONVERT(VARCHAR, 日付, 111) , COUNT(*) FROM テーブル名 GROUP BY CONVERT(VARCHAR, 日付, 111) -- 日次(DATEPART) SELECT DATEPART(YEAR, 日付) , DATEPART(MONTH, 日付) , DATEPART(DAY, 日付) , COUNT(*) FROM テーブル名 GROUP BY DATEPART(YEAR, 日付) , DATEPART(MONTH, 日付) , DATEPART(DAY, 日付)
週次集計
-- 週次(DATEPART) ※日曜はじまり SELECT DATEPART(WEEK, 日付) , COUNT(*) FROM テーブル名 GROUP BY DATEPART(WEEK, 日付)
月次集計
-- 月次(CONVERT) SELECT SUBSTRING(CONVERT(VARCHAR, 日付, 111), 1, 7) , COUNT(*) FROM テーブル名 GROUP BY SUBSTRING(CONVERT(VARCHAR, 日付, 111), 1, 7) -- 月次(DATEPART) SELECT DATEPART(YEAR, 日付) , DATEPART(MONTH, 日付) , COUNT(*) FROM テーブル名 GROUP BY DATEPART(YEAR, 日付) , DATEPART(MONTH, 日付)
年次集計
-- 年次(CONVERT) SELECT SUBSTRING(CONVERT(VARCHAR, 日付, 111), 1, 4) , COUNT(*) FROM テーブル名 GROUP BY SUBSTRING(CONVERT(VARCHAR, 日付, 111), 1, 4) -- 年次(DATEPART) SELECT DATEPART(YEAR, 日付) , COUNT(*) FROM テーブル名 GROUP BY DATEPART(YEAR, 日付)
Google AdSense PC
Google AdSense PC
関連記事
-
-
[Oracle]データベースを再構築してOracle Expressのキャラクタセットを変更する
前回の記事でCSALTERを使用したキャラクタセットの変更方法を記載しましたが、サブセットのキャラクタセットからスーパセットへの変更のみ可能でした。 この記事で …
-
-
[SQL Server]再帰SQLで集計する
WITH(共通テーブル式)を使って集計する WITH句とは 共通テーブル式 (CTE) は、単一の SELECT、INSERT、UPDATE、DELETE、CR …
-
-
[Oracle]トリガーの実行順序を設定する方法
FOLLOWS句を使用して実行順序を設定する 1つの表に対して同レベル(タイミング)のトリガーを複数作成することはできますが、実行順序は保証されていません。 実 …
-
-
ODP.NETをNuGetからインストールする
ODP.NETのインストール手順 Oracle 12cから公式のODP.NETがNuGetに追加されました。 この記事ではODP.NETをNuGetからインスト …
-
-
[SQL Server]クロス集計の方法
PIVOTを使ってクロス集計する SQL ServerでExcelのピボットテーブルのようなクロス集計をするには、PIVOT関係演算子を使って集計することができ …
-
-
[Oracle]端数処理、丸めの方法
ORACLEで数値の端数処理、数値丸めをする 数値を四捨五入する場合は、ROUND関数 数値を切り捨てる場合は、TRUNC関数 各関数の第2引数の値で、小数部、 …
-
-
[SQLServer]形式指定で日付を取得する方法
SQLServerで形式を指定して日付を取得する 日付形式を指定するために、CONVERT関数、または、FORMAT関数を使用します。 CONVERT関数とFO …
-
-
[SQL Server]IDENTITYの値を初期化する
ID値の初期化(リセット)方法 IDENTITYプロパティを設定した列のID値を初期化(リセット)する方法を記載します。 現在のID値を確認する ID値を確認す …
-
-
[Oracle]データベーストリガーの作成方法
DMLトリガーを作成する データベーストリガーの中でももっとも一般的なDMLトリガーの作成方法と簡単な使用方法を記載していきます。 トリガーとは? トリガーとは …
-
-
Oracle12cでユーザを作成する方法
SQLコマンドを使用したユーザ作成 Oracle12cからマルチテナント・アーキテクチャが採用されており、以前までの手順ではユーザが作成できません。 ここではP …