select
UnsubmittedCount=(
case
when
ApproveStatusin
('未提交'
,
'已提交'
)
then
count
(FormID)
end
),
ApprovedCount=(
case
when
ApproveStatus
in
(
'已审核'
)
then
count
(FormID)
end
)
@H_502_48@
from
formLogistic
@H_502_48@
group
@H_502_48@
by
ApproveStatus
@H_502_48@
@H_502_48@
返回结果集为GroupBy后的多行数据,如何避开GroupBy?
@H_502_48@
可以使用max()或者sum()的方式,将casewhen一行化,如:
@H_502_48@
select
UnsubmittedCount=
max
(
case
when
ApproveStatus
in
(
'未提交'
sql plain" style="list-style:none; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
'已提交'
)
then
count
(FormID)
end
)
@H_502_48@
from
formLogistic
@H_502_48@
group
@H_502_48@
@H_502_48@
by
ApproveStatus
@H_502_48@
但:聚合(CaseWhen(聚合)) 这种模式的查询方式,
@H_502_48@
@H_502_48@
可以优化为:
@H_502_48@
select
UnsubmittedCount=
COUNT
(
case
when
ApproveStatus
in
(
'未提交'
sql plain" style="list-style:none; font-size:1em!important; line-height:1.1em!important; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
'已提交'
)
then
FormID
end
sql plain" style="list-style:none; font-size:1em!important; line-height:1.1em!important; margin:0px!important; padding:0px!important; border:0px!important; outline:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
@H_502_48@