1

こんにちは私は列facilitydate(他の列は重要ではありません)を持っているテーブルバッジを持っています。select count(*)私はこれを次のようにしたいと思います:

DATE       | FACILITY 4 COUNT | FACILITY 1 COUNT
12/12/2012 | 234              |  647

1と4に対して2つの別々のクエリをfacility作成しましたが、それを1つのクエリに結合する方法。

SELECT
    date,
    COUNT(*)
    FROM      badge
    WHERE     facility = 3
    AND       xtype = 19
    AND       date BETWEEN 'some_date' AND 'some_date'
    GROUP BY  date

別のクエリは、ファシリティの値のみが異なります。

編集:それはinformixデータベースです。

4

2 に答える 2

3
SELECT date,
       SUM(case when facility = 1 then 1 else 0 end) "FACILITY 1 COUNT",
       SUM(case when facility = 4 then 1 else 0 end) "FACILITY 4 COUNT"
FROM      badge
WHERE     (facility = 1 OR facility = 4)
AND       xtype = 19
AND       date BETWEEN 'some_date' AND 'some_date'
GROUP BY  date
于 2013-02-20T13:02:01.637 に答える
2

これを試してみてください。

SELECT  date,
        SUM(CASE WHEN facility = 3 THEN 1 ELSE 0 END) `Facility 3 Count`,
        SUM(CASE WHEN facility = 1 THEN 1 ELSE 0 END) `Facility 1 Count`
FROM      badge
WHERE     xtype = 19 AND      
          date BETWEEN 'some_date' AND 'some_date'
GROUP     BY  date
于 2013-02-20T12:59:17.460 に答える