1

複数のカウントを行う必要があります。約6列あります。このようなもの:

SELECT 
COUNT(C.ID) as 'Column 1',
COUNT(C.ID) as 'Column 2',
COUNT(C.ID) as 'Column 3',
COUNT(C.ID) as 'Column 4',
FROM CONTACT C

さまざまなクエリを使用してさまざまなカウントを実行できるようにする必要がありますが、クエリのカウントを 1 つの結果に適用する方法がわかりません。

4

3 に答える 3

2

ここにはいくつかのオプションがあります。

1) @TheSoultion が提案したようにサブクエリを使用する

2) UNION を使用する

   SELECT 'A' NAME, COUNT(c.ID) [COUNT] FROM Contact c WHERE ... 
   UNION
   SELECT 'B' NAME, COUNT(c.ID) [COUNT] FROM Contact c WHERE ... 

3)実際には同じサブセットであるが、いくつかの条件に基づいて合計したい場合は、カウント内でケースを使用します

 SELECT sum(case ... when ... then 1 else 0 end) counta,
        sum(case ... when ... then 1 else 0 end) countb
 FROM ... WHERE ...
于 2013-07-31T13:49:14.620 に答える
1

あなたが何をしようとしているのか理解できれば、通常は次のようにします。

SELECT 
SUM(CASE WHEN Condition1 THEN 1 END) AS Column1,
SUM(CASE WHEN Condition2 THEN 1 END) AS Column2
FROM Contact
于 2013-07-31T13:47:57.627 に答える
0

サブクエリを実行する必要があります。または、少なくともそれが 1 つの方法です。

SELECT
    ( SELECT COUNT(c.ID) FROM Contact c WHERE ... ) AS Column1,
    ( SELECT COUNT(c.ID) FROM Contact c WHERE ... ) AS Column2
于 2013-07-31T13:42:37.150 に答える