- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PostgreSQL、レコード内にある結果(カウントの結果)を入れたい)
PostgreSQLにおけるレコードの結果を入れたい方法
このQ&Aのポイント
- PostgreSQLにおけるレコードの結果のカウント数を含めた表示方法について質問があります。
- 指定のテーブルにおいて、「状態」が「準備中」のレコードをカウントし、新たなカラムとして表示したいです。
- ご存知の方がいらっしゃいましたら、ご教示いただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
要件に矛盾があります。 > 1 |a |作業中 |1 「No=1」かつ「名称='a'」の行は2行あり、それぞれ「状態」は「作業中」と「準備中」があるので、どの「状態」とすればいいのか決められません。 「作業中」もカウントするというなら、例えば次のようなSQLで実現可能です。 -- sum関数 select "No." ,"名称" ,sum(case when "状態"='作業中' then 1 else 0 end) as "作業中数" ,sum(case when "状態"='準備中' then 1 else 0 end) as "準備数" from "tblA" group by "No.","名称" order by "No." ; -- count関数 select "No." ,"名称" ,count(case when "状態"='作業中' then 1 else null end) as "作業中数" ,count(case when "状態"='準備中' then 1 else null end) as "準備数" from "tblA" group by "No.","名称" order by "No." ;
お礼
ご回答頂きありがとうございました。 無事、理想の結果を出力することができました。 COUNTの中に条件なんて全然思いつきませんでした。 GROUP BY もあまり使っていなかったため、これから知識を深めようと思います。 この度は本当にありがとうございました。