我有一个包含如下字段的 SQL 表:
F1 40
F2 30
F3 120
F4 77
F5 12
F6..
F7..
等等
我想检索任何给定字段的平均值,但按降序对它们进行排序。
$query = "SELECT AVG(F1) as F1, AVG(F2) as F2, AVG(F3) as F3, (..)
FROM survey";
以上可以检索平均值,但是我如何按降序输出它们?
我有一个包含如下字段的 SQL 表:
F1 40
F2 30
F3 120
F4 77
F5 12
F6..
F7..
等等
我想检索任何给定字段的平均值,但按降序对它们进行排序。
$query = "SELECT AVG(F1) as F1, AVG(F2) as F2, AVG(F3) as F3, (..)
FROM survey";
以上可以检索平均值,但是我如何按降序输出它们?
正常的ORDER BY
方法应该适用于像AVG()
or这样的聚合函数SUM()
。您应该能够直接访问字段作为其别名(例如F1 DESC
),但如果这不起作用,您可能需要使用不同的方法。
尝试使用查询:
SELECT
AVG(F1) as F1_avg, AVG(F2) as F2_avg, AVG(F3) as F3_avg
FROM
survey
ORDER BY
F1_avg DESC;
根据您当前的查询,您只会收到一行违反ORDER BY
. 但是,如果您使用的是 a GROUP BY
(只是没有在问题中显示它),则上述内容应该可以正常工作。