SUM関数

SUM ã?¯è¡Œã?®é›†å?ˆã?«æ¸¡ã?£ã?¦å?ˆè¨ˆå€¤ã‚’計算ã?™ã‚‹é›†ç´„関数ã?§ã?™ã€‚(集約 (集å?ˆé–¢æ•°)ã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。) SUMã?¯æ•°å€¤åž‹ã?®å¼?ã?«å¯¾ã?—ã?¦ã?®ã?¿ã€?é?©ç”¨ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

æ§‹æ–‡

SUM ( [ DISTINCT | ALL ] å¼? )

DISTINCTã?Šã‚ˆã?³ALLã?«ã‚ˆã‚Šã€?é‡?複をå?–り除ã?„ã?Ÿã‚Šã€?ç•™ã‚?ã?Ÿã‚Šã?§ã??ã?¾ã?™ã€‚ã‚‚ã?—ALLã‚‚DISTINCTã‚‚ã?‹ã?‹ã‚Œã?ªã?‹ã?£ã?Ÿå ´å?ˆã€?ALLã?ŒæŒ‡å®šã?•れã?Ÿã‚‚ã?®ã?¨ã?¿ã?ªã?—ã?¾ã?™ã€‚例ã?ˆã?°ã€?列ã?«1ã€?1ã€?1ã€?1ã€?2ã?¨ã?„ã?†å€¤ã?Œã?‚ã‚‹ã?¨ã?—ã?¦ã€?SUM(col)ã?¯SUM(DISTINCT col)より大ã??ã?ªå€¤ã‚’è¿”ã?—ã?¾ã?™ã€‚

é?¸æŠžå¼?ã?«ã?¯ã€?DISTINCTを唯一ã?¤ç½®ã??ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚例ã?ˆã?°æ¬¡ã?®å•?å?ˆã?›ã?¯ä¸?å?¯ã?§ã?™ã€‚
SELECT AVG (DISTINCT flying_time), SUM (DISTINCT miles)
FROM Flights

å¼?ã?«ã?¯è¤‡æ•°ã?®åˆ—ã?¸ã?®å?‚ç…§ã‚„å¼?ã‚’ç½®ã??ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã?Œã€?ä»–ã?®é›†ç´„や副å•?å?ˆã?›ã‚’ç½®ã??ã?“ã?¨ã?¯ã?§ã??ã?¾ã?›ã‚“。ã?¾ã?Ÿè©•価ã?—ã?Ÿçµ?æžœã?¯çµ„è¾¼ã?¿ã?®æ•°å€¤åž‹ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。もã?—å¼?ã?ŒNULLã?¨è©•価ã?•れã?Ÿå ´å?ˆã€?集約ã?¯ã??ã?®å€¤ã‚’無視ã?—ã?¾ã?™ã€‚

関数��果�型��関数�作用���る��型�����。(オー�ーフロー�る�能性も�り��。)

-- 全��エコノミーシートを数���。
SELECT SUM (economy_seats) FROM Airlines;

-- SUMを複数�列���照�使���。
-- (購入�れ����計を計算���。)
SELECT SUM (economy_seats_taken + business_seats_taken + firstclass_seats_taken)
as seats_taken FROM FLIGHTAVAILABILITY;