web-dev-qa-db-ja.com

Oracle / SQL-1つの列の値の出現回数をカウントします

さて、私はおそらくもっと良いタイトルを思い付くことができたかもしれませんが、それをどのように表現するかわからなかったので、説明させてください。

'CODE'列のテーブルがあるとします。テーブルの各レコードには、「CODE」列の値として「A」、「B」、または「C」のいずれかが含まれます。私が欲しいのは、私が持っている「A」、「B」、および「C」の数を数えることです。

私は3つの異なるクエリでこれを達成できることを知っていますが、1つだけでそれを行う方法があるかどうか疑問に思っています。

13
dscl

使用する:

  SELECT t.code,
         COUNT(*) AS numInstances
    FROM YOUR_TABLE t
GROUP BY t.code

出力は次のようになります。

code   numInstances
--------------------
A      3
B      5
C      1

使用されていないコードが存在する場合、そのコードは表示されません。参照がないコードを表示するには、コードのリストを含むテーブルにLEFTJOINする必要があります。

41
OMG Ponies