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

月ごとのSQL結果グループ

    使用:

      SELECT SUM(CASE WHEN p.problem_type = 'IN' THEN 1 ELSE 0 END) AS IN, 
             SUM(CASE WHEN p.problem_type = 'OUT' THEN 1 ELSE 0 END) AS OUT, 
             TO_CHAR(datetime, 'YYYY') AS year,
             TO_CHAR(datetime, 'MM') AS month
        FROM PROBLEM p
       WHERE p.DateTime >= TO_DATE('2010-01-01', 'YYYY-MM-DD') 
         AND p.DateTime < TO_DATE('2010-01-31', 'YYYY-MM-DD') 
    GROUP BY TO_CHAR(datetime, 'YYYY'), TO_CHAR(datetime, 'MM')
    

    次を使用することもできます:

      SELECT SUM(CASE WHEN p.problem_type = 'IN' THEN 1 ELSE 0 END) AS IN, 
             SUM(CASE WHEN p.problem_type = 'OUT' THEN 1 ELSE 0 END) AS OUT, 
             TO_CHAR(datetime, 'MM-YYYY') AS mon_year
        FROM PROBLEM p
       WHERE p.DateTime >= TO_DATE('2010-01-01', 'YYYY-MM-DD') 
         AND p.DateTime < TO_DATE('2010-01-31', 'YYYY-MM-DD') 
    GROUP BY TO_CHAR(datetime, 'MM-YYYY')
    

    参照:



    1. JavaとPostgresの列挙型を連携させて更新するにはどうすればよいですか?

    2. SQL Serverで先行ゼロをトリミングするためのより良い手法はありますか?

    3. Perl DBIエラーメッセージ:未定義の値でメソッドselectcol_arrayrefを呼び出すことができません

    4. V$SQLにない最近実行されたSQL