我有一个这样的postgresql查询:
with r as (
select
1 as reason_type_id,
rarreason as reason_id,
count(*) over() count_all
from
workorderlines
where
rarreason != 0
and finalinsdate >= '2012-12-01'
)
select
r.reason_id,
rt.desc,
count(r.reason_id) as num,
round((count(r.reason_id)::float / (select count(*) as total from r) * 100.0)::numeric, 2) as pct
from r
left outer join
rtreasons as rt
on
r.reason_id = rt.rtreason
and r.reason_type_id = rt.rtreasontype
group by
r.reason_id,
rt.desc
order by r.reason_id asc
这将返回一个包含 4 列的结果表:原因 id、与该原因 id 关联的描述、具有该原因 id 的条目数以及该数字所代表的总数的百分比。
该表如下所示:
我想做的只是根据具有原因 ID 的条目总数显示前 10 个结果。但是,无论剩下什么,我都想编译成另一行,并带有名为“其他”的描述。我该怎么做?