質問: グループ化したsql文のカウントについて オラクルを初めて2週間の初心者です。 tablea表からe_codeをグループ化し、e_codeの1の値が何個あるか、2の値が何個あるかカウントした値を求めたいのですがsql文がわかりません。group byやcase文などネットを見ながら試行錯誤しチャレンジしましたが、エラーとなり求めたい結果が取得できませんでした。 この場合どのようなsql文を書いたらいいのでしょうか。 --tablea-- e_code|k_code 001 | 1 001 | 1 002 | 1 002 | 1 002 | 1 003 | 1 004 | 2 005 | 1 005 | 1 006 | 1 007 | 2 007 | 1 007 | 2 求めたい出力結果↓ ----------------------------- e_code | 1の個数 | 2の個数 001 |2 | 002 |3 | 003 |1 | 004 | |1 005 |2 | 006 |1 | 007 |1 |2
回答: select e_code ,sum(case k_code when 1 then 1 else 0 end) as "1の個数" ,sum(case k_code when 2 then 1 else 0 end) as "2の個数" from tablea group by e_code order by 1 です。