我正在做Cake PHP 3x分页并且必须执行mysql avg
功能并获得结果。
SQL
查询是:
$conn->prepare('SELECT u.id, c.user_id, u.name, u.email, c.phone_number, c.candidate_rating, c.modified, c.city, c.created,
(SELECT AVG(internal_rating) FROM schedule WHERE gigstr = c.user_id AND internal_rating != 0) AS rating_avg
FROM user u
INNER JOIN candidate c ON u.id = c.user_id
ORDER BY u.id DESC
');
分页代码是:
$this->paginate = [
'fields' => ['user_id', 'phone_number', 'country', 'city', 'created', 'User.email', 'User.name'],
'order' => [
'User.id' => 'desc'
],
'contain' => ['User'],
'limit' => 30
];
$candidates = $this->paginate($this->Candidate);
我的代码在候选控制器中,我需要添加该子查询以获得平均分页。 子查询:
(SELECT AVG(internal_rating) FROM schedule WHERE gigstr = c.user_id AND internal_rating != 0) AS rating_avg
schedule
也是一个单独的模型(表格)