2014-10-08 273 views
1

相当困难的称号因此在这里说明的是我的方案:SQL完成百分比与COUNT和剩余百分比

比方说,我有£10,000,这是怎么回事随机分期支付的值(最多100%)。累计总数存储在名为PercentageComplete的字段中。

付款1是5000£

付款2是2500£

(PercentageComplete = 75所欠总量的%)(PercentageComplete = 50所欠总量的%)到目前为止的方式我试图解决这个问题是通过添加(0.5 + 0.75),这给了我总共1.25 ...并使用COUNT函数我将它除以2(这给出了0.625的不正确答案)。

我可能过度复杂化这个问题,所以谢谢任何帮助。

的代码我想:

select FinanceID, CustomerID sum(PercentageComplete), COUNT(PercentageComplete) 
from Finances group by FinanceID, CustomerID 
+0

一个简单的问题:付款2的75%*剩余*总?它似乎是总数的25%(和0.5 + 0.25 = 0.75)。 – 2014-10-08 14:25:19

+0

首先要清楚的是2500不是10000的75%。Plz使它正确,之后只有我们才能给出答案。 – 2014-10-08 14:25:46

+0

ive但是(总数)在括号内,所以在投票之前请先阅读正确的问题.. 5,000是50%,然后你再支付2,500到10,000,这会给你75%。下面的答案是正确无论如何,所以谢谢你的帮助 – Crezzer7 2014-10-08 14:29:14

回答

1

我觉得你只是想max()

select FinanceID, CustomerID max(PercentageComplete) 
from Finances 
group by FinanceID, CustomerID ; 
+0

血腥地狱多数民众赞成死亡明显,实际上不使用MAX自高中哈哈,欢呼伙计 – Crezzer7 2014-10-08 14:24:13

+3

嗨@ Crezzer7如果这或任何答案已解决您的问题,请考虑[接受它]( http://meta.stackexchange.com/q/5234/179419)点击复选标记。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 – AHiggins 2014-10-08 14:42:59