【SQL Server】AVG関数について

SQL Server
この記事は約2分で読めます。

AVG関数はレコードの平均値を取得するのに使います。

事前準備
--テーブル作成
CREATE TABLE [dbo].[T2](
[Id] INT,
[Age] INT,
)

-- テーブル登録
INSERT INTO T2 SELECT 1,10;
INSERT INTO T2 SELECT 2,20;
INSERT INTO T2 SELECT 3,60;

SELECT * FROM T2
Id Age
1 10
2 20
3 60
実行
SELECT AVG(Age) AS 平均 FROM T2
平均
30
--条件付き
SELECT AVG(Age) AS 平均 FROM T2 WHERE 1 < Id
平均
40

NULLは平均値に含まれません

INSERT INTO T2 SELECT 4,null;

SELECT * FROM T2

SELECT AVG(Age) AS 平均 FROM T2

Id Age
1 10
2 20
3 60
4 NULL
平均
30

正数の場合、小数点以下は切捨てになります。

DROP TABLE T2

--テーブル作成
CREATE TABLE [dbo].[T2](
[Id] INT,
[Age] INT,
)

-- テーブル登録
INSERT INTO T2 SELECT 1,10;
INSERT INTO T2 SELECT 2,20;
INSERT INTO T2 SELECT 3,40;

SELECT * FROM T2

SELECT AVG(Age) AS 平均 FROM T2
Id Age
1 10
2 20
3 40
平均
23

小数点以下を求める場合の例

SELECT AVG(Age + 0.0) AS 平均 FROM T2
平均
23.33333

コメント

タイトルとURLをコピーしました