我有2个mysql表如下:
客户:ID | NAME
Customers_level :ID | USER_ID | CUSTOMER_ID | LEVEL
我需要按名称对客户列表进行分页,以及他的平均水平(每个用户为他的客户定义一个级别)。例如,如果我有以下示例:
客户:
ID | NAME
1 | democustomer
2 | bubul
Customers_level
ID | USER_ID | CUSTOMER_ID | LEVEL
1 | 8 | 1 | 2
2 | 9 | 1 | 4
3 | 11 | 2 | 3
4 | 13 | 2 | 4
我需要为每位顾客提供他的平均水平:
Customer_average_level :
NAME | AVG_LEVEL
democustomer | 3
bubul | 3.5
这个sql请求是可能的:
SELECT c.name, ROUND(AVG(ucn.note)) FROM `customers` as c, `customers_level` as ucn WHERE c.id = ucn.customer_id GROUP BY ucn.customer_id ASC
我可以对名称进行排序,但我不知道如何添加可用于分页器的AVG_LEVEL字段? 这是我的控制器:
$this->Paginator->settings = $this->paginate;
$customers = $this->Paginator->paginate('Customer');
如何在我的客户分页数组列表中添加虚拟字段,以便能够对名称和平均等级进行排序?