0

我有一个包含如下字段的 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";

以上可以检索平均值,但是我如何按降序输出它们?

4

1 回答 1

0

正常的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(只是没有在问题中显示它),则上述内容应该可以正常工作。

于 2013-10-14T18:50:13.750 回答