factors
--------------
totalprice paidprice
400, 300
1000, 1000
500, 500
700, 800
我的查询
select count(TotalPrice /paidprice )
from Factors
where TotalPrice>=PaidPrice
我有4个因数,有3个客户完全支付了他们的因数,但是1个他们没有支付,返回了3,但我想返回75%
答案 0 :(得分:1)
根据您的问题,我想您只需使用简单的计算就可以得到百分比。
select CONCAT((paidprice * 100 / TotalPrice),'%')
from Factors
where TotalPrice >= PaidPrice
编辑
我看到您在编辑问题,可以尝试将SUM
与CASE WHNE
一起使用来计算百分比。
select SUM(CASE WHEN TotalPrice >= PaidPrice THEN 1 ELSE 0 END) * 100/COUNT(*)
from Factors
[结果] :
| SUM(CASE WHEN TotalPrice >= PaidPrice THEN 1 ELSE 0 END) * 100/COUNT(*) |
|-------------------------------------------------------------------------|
| 75 |
答案 1 :(得分:1)
select avg(CASE WHEN TotalPrice >= PaidPrice THEN 1 ELSE 0 END)*100
from Factors
答案 2 :(得分:0)
在问题查询下方找到
select
count( case when nvl(paidprice,0)>0 then paidprice end )/count(*) percentage
from "table_name"
对不起,我忘了乘以100
select
count( case when nvl(paid,0)>0 then paid end )/count(*)*100 percentage
from "table name"