我有这些数据:
Contact Customers
1 2
2 3
3 1
4 6
使用包含客户总数的变量。
此数据表示有2位客户曾与客户服务人员联系过,3位客户已与客户服务人员联系过两次等。
我希望有另一个专栏显示与客户服务联系x次或更多次的客户的累计百分比。所以在这个例子中:
Contact Customers Cumm%
1 2 100
2 3 83.3
3 1 58.3
4 6 50%
我尝试了几件事,但我对SQL很新,我似乎无法找到任何示例,需要一些帮助。
如果您知道如何获得累积的客户量,那也很好,因为我知道如何获得百分比。我的意思是:
Contact Customers CummCustomers
1 2 12
2 3 10
3 1 7
4 6 6
提前致谢
答案 0 :(得分:1)
您可以使用子查询来完成此操作:
SELECT
Contact
, Customers
, (SELECT SUM(Customers) FROM myTable t2 WHERE t2.Contact >= t1.Contact) as CummCustomers
FROM myTable t1
答案 1 :(得分:1)
您可以使用更快的分析查询来解决您的问题。
select contact,customer,
sum(customer) over (order by contact desc) cumm_customer
from table1 order by contact asc;
请参阅此处的sqlfiddle演示 http://sqlfiddle.com/#!4/74169/4