3
SELECT COUNT(Type) from House where Type = 1
SELECT COUNT(Type) from House where Type = 2
SELECT COUNT(Type) from House where Type = 3

私の質問は: 上記の 3 つのステートメントを結合して取得したい: 3 つの列、つまり、ColumnType1: '50'、ColumnType2: '60'、columnType3: '45'

ありがとう

4

4 に答える 4

3

You can create the columns using an aggregate function with a CASE expression:

SELECT 
  count(case when Type = 1 then Type end) as type_1,
  count(case when Type = 2 then Type end) as type_2,
  count(case when Type = 3 then Type end) as type_3
from House
于 2013-04-29T12:07:38.163 に答える
1

一致する場合は、a を使用しcaseて加算できますType

SELECT sum(case when Type = 1 then 1 else 0 end) as type_1,
       sum(case when Type = 2 then 1 else 0 end) as type_2,
       sum(case when Type = 3 then 1 else 0 end) as type_3
from House
于 2013-04-29T12:05:55.090 に答える
0
SELECT
    COUNT(Type) as val1,
    (SELECT COUNT(Type) from House where Type = 2) as val2,
    (SELECT COUNT(Type) from House where Type = 3) as val3
from House where Type = 1
于 2013-04-29T12:08:01.963 に答える