0

status という名前の列を持つテーブルがあるとします。

status
------
A
A
A
B
C
C
D
D
D

A が含まれる行数、B が含まれる行数などを数えるにはどうすればよいですか? この種の出力:

A  |B  |C  |D  |E  
------------------
3  |1  |2  |3  |0

E = O に関しては、これは常に A、B、C、D であり、E 出力は 1 行 (したがって 1 クエリ) である必要があります。

個別のカウントを行う場合(検索でほとんどの回答が返されますが、異なる要素の数、この場合は4つが返されます...)

4

2 に答える 2

3

You simply need to group your table, applying a suitable aggregate function:

SELECT   status, COUNT(*)
FROM     my_table
GROUP BY status

See it on sqlfiddle.

If a status is missing, you can treat it as 0 from within your application code.

于 2013-10-27T21:50:21.447 に答える