【发布时间】:2016-09-06 05:26:19
【问题描述】:
我有一个名为 customers 的表来保存客户的数据
id | fname | lname
--- | ------ | ------
1 | John | Smith
2 | Mike | Bolton
3 | Liz | John
4 | Mark | Jobs
我还有另一个名为 calls 的表,用于记录每个客户的每个呼叫。
id | timestamp | customer_id | campaign | answered |
1 |2016-09-05 15:24:08| 1 | 2016-09 | 1 |
2 |2016-09-05 15:20:08| 2 | 2016-09 | 1 |
3 |2016-08-05 15:20:08| 2 | 2016-08 | 1 |
4 |2016-08-05 13:20:08| 3 | 2016-08 | 1 |
5 |2016-08-01 15:20:08| 3 | 2016-08 | 0 |
5 |2016-08-01 12:20:08| 4 | General | 1 |
广告系列常规不计入计算。
我需要根据每个客户的通话记录,按照通话质量的排名来获得一个客户列表。
此列表用于呼叫客户,以便:
- 尚未在实际通话活动中被调用(例如2016-09)
- 通话次数减少
- 最佳接听百分比(接听电话总数/拨打电话总数)
它应该看起来像这样:
| id | fname | lname | %ans | called actual campaign | total calls | rank |
|----|--------|-------|------|------------------------|-------------|------|
| 4 | Mark | Jobs | N/A | no | 0 | 1 |
| 3 | Liz | John | 50 | no | 2 | 2 |
| 1 | John | Smith | 100 | yes | 1 | 3 | No Show
| 2 | Mike | Bolton| 100 | yes | 2 | 4 | No Show
请帮帮我!
【问题讨论】:
-
sqlfiddle 帮我们搞定?
-
请包括您尝试自己解决问题的内容!
-
你如何定义排名?
-
@Drew 这里是 SQLFiddle sqlfiddle.com/#!9/d6accf/2
-
@1000111 小提琴交付