1

この表から

D_value
-------
A
B
B
C
C
C

D_Valueこのテーブルにカウントを表示するには

A | B | C
---------
1 | 2 | 3
4

2 に答える 2

2

単一の行を取得するには、これを使用します。

SELECT
   COUNT(CASE WHEN D_Value = 'A' THEN 1 END) AS A,
   COUNT(CASE WHEN D_Value = 'B' THEN 1 END) AS B,
   COUNT(CASE WHEN D_Value = 'C' THEN 1 END) AS C
FROM
   MyTable

これは、カウントする値の有限数と固定数に対して機能します

異なる値の数がわからない場合は、単純な集計を実行して、クライアントコードに単一の行を作成する必要があります。

SELECT D_value, COUNT(*) FROM MyTable GROUP BY D_value;

ただし、これでは、存在しない値のカウントはゼロになりません。したがって、ルックアップテーブルとLEFTJOINが必要になります。まだ行きません...

于 2012-08-16T07:30:41.193 に答える
0
select D_value,count(*) from table group by D_value;
于 2012-08-16T07:30:36.497 に答える