SUM は行の集合に渡って合計値を計算する集約関数です。(集約 (集合関数)を参照してください。) SUMは数値型の式に対してのみ、適用することができます。
SUM ( [ DISTINCT | ALL ] 式 )
DISTINCTおよびALLにより、重複を取り除いたり、留めたりできます。もしALLもDISTINCTもかかれなかった場合、ALLが指定されたものとみなします。例えば、列に1、1、1、1、2という値があるとして、SUM(col)はSUM(DISTINCT col)より大きな値を返します。
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;