我有一个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";
上面会检索平均值没问题,但我怎么能按降序输出呢?
答案 0 :(得分:0)
正常的ORDER BY
方法即使使用AVG()
或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
的目的。但是,如果您使用GROUP BY
(并且只是在问题中没有显示),则上述情况应该会正常运行。