将表的2行除以百分比

时间:2018-07-23 06:50:04

标签: mysql sql

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%

3 个答案:

答案 0 :(得分:1)

根据您的问题,我想您只需使用简单的计算就可以得到百分比。

select CONCAT((paidprice * 100 / TotalPrice),'%')
from Factors 
where TotalPrice >= PaidPrice

sqlfiddle

编辑

我看到您在编辑问题,可以尝试将SUMCASE 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 

http://sqlfiddle.com/#!9/9f0f3/10

答案 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"