2016-03-03 62 views
0

谁能帮我算算我查询的一个%的份额。任何帮助表示赞赏。需要计算我的查询的一个%分享

%股计算:这是我们需要计算%的份额。 总余额> 500000的借款人总数,所有借款人的余额总和除以所有借款人总额。

(
(
SELECT SUM(OUTSTANDING_BAL) 
FROM MyView 
GROUP BY BORROWER_NAME 
HAVING SUM(OUTSTANDING_BAL) > 500000 -- SUM OF BORROWER HAVING BALANCE > 500000 
) 
/-- DIVIDE BY 
(SELECT SUM(OUTSTANDING_BAL) FROM MyView) -- TOTAL SUM 
)*100 

请帮忙。

预先感谢您。

+1

您使用的是哪个数据库? –

+0

在你的第一个'SELECT'语句中删除'GROUP BY'并将'HAVING'改为'WHERE'。 也尝试'CAST [选择语句] AS FLOAT'。除非你使用FLOATS,否则在SQL中划分并不能很好地工作。 除此之外,请注明您正在运行到确切的问题。 –

回答

0

如果你只是想用这个信息的一个查询,使用条件汇总:

select (sum(case when outstanding_bal > 500000 then outstanding_bal else 0 end)/
     sum(outstanding_bal) 
     ) as ratio 
from (select borrower_name, sum(outstanding_bal) as outstanding_bal 
     from MyView 
     group by borrower_name 
    ) b; 

这是假设借入可以有一个要添加了多个记录。如果您只想考虑关于阈值的单个行,则查询更简单:

select (sum(case when outstanding_bal > 500000 then outstanding_bal else 0 end)/
     sum(outstanding_bal) 
     ) as ratio 
from MyView;