1

私はこのデータを持っています:

Contact  Customers
1        2 
2        3 
3        1 
4        6 

顧客の合計金額を含む変数を使用。

このデータは、2 人の顧客が 1 回、3 人の顧客が 2 回カスタマー サービスに連絡したことを意味します。

カスタマー サービスに 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

前もって感謝します

4

2 に答える 2

1

次のように、サブクエリを使用して実行できます。

SELECT
    Contact
,   Customers
,   (SELECT SUM(Customers) FROM myTable t2 WHERE t2.Contact >= t1.Contact) as CummCustomers
FROM myTable t1

sqlfiddle のデモ

于 2013-11-07T09:26:31.210 に答える
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

于 2013-11-07T11:10:47.237 に答える