COUNT 関数 COUNT aggregate functionDISTINCTqualifier in COUNT aggregate function

COUNTは式の行数を数える集約関数です。(を参照してください。) COUNTはどのような型の式でも利用できます。

構文COUNT ( [ DISTINCT | ALL ] )

DISTINCTという限定詞により重複を取り除くことができます。ALLという限定詞により重複をそのままにすることができます。もしDISTINCTもALLも指定されなければ、ALLが与えられたものとします。例えば、列に1、1、1、1および2という値があった場合、COUNT(col)はCOUNT(DISTINCT col)より大きな数を返します。

一つの選択式には、唯一つのDISTINCT集約式をとることができます。例えば次のように問合せる事はできません。

-- 問い合わせできない SELECT COUNT (DISTINCT flying_time), SUM (DISTINCT miles) FROM Flights

には複数の列への参照や式を置く事ができますが、他の集約や副問合せを置くことはできません。 もしがNULLと評価される場合、その評価値について集約は行われません。

COUNTによる結果のデータ型は、INTEGERです。

-- それぞれの地域の国の数を数え、 -- 二国以上ある地域を表示する。 SELECT COUNT (country), region FROM Countries GROUP BY region HAVING COUNT (country) > 1