sql >> データベース >  >> RDS >> Oracle

同じ列で異なる値がカウントされます

    COUNT関数内でCASEまたはDECODEステートメントを使用できます。

      SELECT item_category,
             COUNT (*) total,
             COUNT (DECODE (item_status, 'serviceable', 1)) AS serviceable,
             COUNT (DECODE (item_status, 'under_repair', 1)) AS under_repair,
             COUNT (DECODE (item_status, 'condemned', 1)) AS condemned
        FROM mytable
    GROUP BY item_category;
    

    出力:

    ITEM_CATEGORY   TOTAL   SERVICEABLE UNDER_REPAIR    CONDEMNED
    ----------------------------------------------------------------
    chair           5       1           2               2
    table           5       3           1               1
    


    1. MySQLの列値の前に文字列を追加するにはどうすればよいですか?

    2. OracleスキーマとMicrosoftスキーマの違いは何ですか?

    3. PostgreSQL9.2.1とHibernateの接続

    4. SQLServerレプリケーションプロジェクトで誤った形式のエラーのあるプログラムを読み込もうとしました