要件に矛盾があります。
> 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 もあまり使っていなかったため、これから知識を深めようと思います。
この度は本当にありがとうございました。
お礼
ご回答頂きありがとうございました。 無事、理想の結果を出力することができました。 COUNTの中に条件なんて全然思いつきませんでした。 GROUP BY もあまり使っていなかったため、これから知識を深めようと思います。 この度は本当にありがとうございました。