mysql - 如何在具有别名的字段上进行 ORDER BY

标签 mysql sql-order-by

我有如下查询

   SELECT
  final_avg_total.`Provider Name`,
  ROUND(SUM(final_avg_total.avg_total_payments), 2) AS avg_payments,
  ROUND(SUM(final_avg_total.avg_covered_charges), 2) AS avg_covered,
  (SUM(final_avg_total.avg_covered_charges) - SUM(final_avg_total.avg_total_payments)) / SUM(final_avg_total.avg_covered_charges) AS total_average,
  1 - (SUM(final_avg_total.avg_covered_charges) - SUM(final_avg_total.avg_total_payments))/SUM(final_avg_total.avg_covered_charges) AS total_percentage
FROM final_avg_total
GROUP BY final_avg_total.`Provider Id`
ORDER BY final_avg_total.`avg_payments`  DESC

我想在以下字段中使用别名 avg_payments 进行排序,但出现此错误。

 Unknown column avg_payments in the order by clause

最佳答案

avg_payments 不是表中的字段。只需删除表别名:

ORDER BY avg_payments  DESC

MySQL 理解 order by 语句中的列别名。

关于mysql - 如何在具有别名的字段上进行 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20976832/

相关文章:

MySQL 查询获取属于某个组织的所有用户

mysql - 尝试在 JBOSS 上安装 EJBCA 时出现问题 - 为什么 Mysql 数据库 ("ejbca") 为空

SQL 排序依据

php - ORDER BY 日期同时也在 MySQL 查询中使用 LIMIT - PHP

Mysql选择不在表中的位置

php - 打开购物车 - PHP fatal error :在/home/l/beta4/system/library/db.php 中调用未定义的方法 mysqli::escape() 第 24 行

mysql查询,=和IN之间性能不同

mysql - 如何在 MySQL 中执行复杂的 ORDER BY

MySQL 按数字排序,最后是 Null

mysql - SQL SERVER 通过字段间的数学运算排序