9 mysql
我有一个多表查询,类似于此(简化版)
SELECT columns, count(table2.rev_id) As rev_count, sum(table2.rev_rating) As sum_rev_rating
FROM table1
LEFT JOIN table2
ON table1.dom_id = table2.rev_domain_from
WHERE dom_lastreview != 0 AND rev_status = 1
GROUP BY dom_url
ORDER BY sum_rev_rating/rev_count DESC
Run Code Online (Sandbox Code Playgroud)
问题出在该ORDER BY
条款中.这会导致显示MySQL错误,如下所示:
不支持参考'sum_ rev_ rating'(参考组功能)
小智 14
您无法使用别名进行计算.这样做的一种方法是简单地创建另一个别名并按顺序排序.
SELECT columns, count(table2.rev_id) As rev_count, sum(table2.rev_rating) As sum_rev_rating, sum(table2.rev_rating)/count(table2.rev_id) as avg_rev_rating
FROM table1
LEFT JOIN table2
ON table1.dom_id = table2.rev_domain_from
WHERE dom_lastreview != 0 AND rev_status = 1
GROUP BY dom_url
ORDER BY avg_rev_rating DESC
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11400 次 |
最近记录: |