AVG関数

AVGã?¯è¤‡æ•°è¡Œã?«ã‚?ã?Ÿã‚‹å¼?ã?®å¹³å?‡ã‚’評価ã?™ã‚‹é›†ç´„関数ã?§ã?™ã€‚(集約 (集å?ˆé–¢æ•°)ã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。) AVGã?¯æ•°å€¤åž‹ã?«è©•価ã?•れるå¼?ã?«å¯¾ã?—ã?¦ã?®ã?¿ä½œç”¨ã?•ã?›ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

æ§‹æ–‡

AVG ( [ DISTINCT | ALL ] å¼? )

DISTICTを指定�る���複��り除�れ��。 ALLを指定�る���複を残���。ALLもDISTINCTも指定�れ��場��既定�ALL��。 例���列�値�1.0�1.0�1.0�1.0�2.0�������。��場��AVG(col)�AVG(DISTINCT col)より���値を返���。

DISTINCTã?ªé›†ç´„å¼?ã?¯ã€?é?¸æŠžå¼?ã?«ä¸€ã?¤ã? ã?‘ç½®ã??ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ 例ã?ˆã?°ã€?次ã?®å•?å?ˆã?›ã?¯ç„¡åйã?§ã?™ã€‚
SELECT AVG (DISTINCT flying_time), SUM (DISTINCT miles)
FROM Flights

å¼?ã?«ã?¯è¤‡æ•°åˆ—ã?¸ã?®å?‚ç…§ã‚„å¼?ã?Œã?‚ã?£ã?¦ã?‹ã?¾ã?„ã?¾ã?›ã‚“ã?Œã€?ä»–ã?®é›†ç´„や副å•?å?ˆã?›ã?Œã?‚ã?£ã?¦ã?¯ã?ªã‚Šã?¾ã?›ã‚“。 ã?¾ã?Ÿè©•価çµ?æžœã?¯SQL-92ã?®æ•°å€¤åž‹ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。ã?—ã?Ÿã?Œã?£ã?¦SQL-92ã?®åž‹ã?«è©•価ã?•れる関数ã?ªã‚‰å‘¼ã?¶ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã‚‚ã?—評価çµ?æžœã?ŒNULLã?§ã?‚ã?£ã?Ÿå ´å?ˆã€?集約ã?«ã?¦ã??ã?®å€¤ã?¯çœ?ã?‹ã‚Œã?¾ã?™ã€‚

çµ?æžœã?®ãƒ‡ãƒ¼ã‚¿åž‹ã?¯æ“?作ã?•れるå¼?ã?¨å?Œã?˜ãƒ‡ãƒ¼ã‚¿åž‹ã?§ã?™ã€‚(オーãƒ?ーフローã?¯ã?‚りã?¾ã?›ã‚“) 例ã?ˆã?°æ¬¡ã?®å•?å?ˆã?›ã?¯äºˆæƒ³ã?«å??ã?—ã?¦æ•´æ•°ã?®1ã‚’è¿”ã?—ã?¾ã?™ã€‚
SELECT AVG(c1)
FROM (VALUES (1), (1), (1), (1), (2)) AS myTable (c1)
より精度�必���れ���をキャスト���。
SELECT AVG(CAST (c1 AS DOUBLE PRECISION))
FROM (VALUES (1), (1), (1), (1), (2)) AS myTable (c1)