如果按照百分比排序,例如字段如下
Online_user all_user
100 200
111 333
222 555
4 50
我们可以得到 online_user all_user online_user/all_user 三个字段,我现在想让online_user/all_user字段显示
50.0%
33.3%
40.0%
8%
我如何能让表格按照 online_user/all_user 字段降序排序,即得到
100 200 50%
222 555 40%
111 333 33%
4 50 8%
------------------------------------------------------
Online_user all_user
100 200
111 333
222 555
4 50
我们可以得到 online_user all_user online_user/all_user 三个字段,我现在想让online_user/all_user字段显示
50.0%
33.3%
40.0%
8%
我如何能让表格按照 online_user/all_user 字段降序排序,即得到
100 200 50%
222 555 40%
111 333 33%
4 50 8%
我现在知道如果不对第三个字段进行百分比处理是能得到这个顺序的,但是进行%处理之后就得到了8%排第一位了。。。
--------------------------------------------
select Online_user, all_user,round(Online_user/all_user*100)||'%' from 表 order by Online_user/all_user desc
----------------
select Online_user, all_user,百分比 from(
select Online_user, all_user,round(Online_user/all_user*100)||'%' 百分比,Online_user/all_user rn from 表 )
order by rn desc
----------------------------
with
tab
as
(
select
100 Online_user,200 all_user
from
dual
union
all
select
111, 333
from
dual
union
all
select
222, 555
from
dual
union
all
select
4, 50
from
dual
)
select
Online_user, all_user,round(Online_user/all_user*100)||
'%'
percent
from
tab
order
by
Online_user/all_user
desc
ONLINE_USER ALL_USER PERCENT
100 200 50%
222 555 40%
111 333 33%
4 50 8%