PHP MYSQL-计数;同一查询中的平均值


PHP MYSQL - Count & Average In Same Query

这可能非常简单,但我正在尝试执行一个查询,该查询将返回结果的平均值,但我也希望它计算用于获取平均值的行数。例如:

Row 1 = 5
Row 2 = 2
Row 3 = 9
Row 4 = 1
Average = 4.25
Count = 4

有没有一种方法可以将一个查询与两个查询并置。当我使用avg函数时,它总是只返回一行,所以我的计数是1而不是4。我需要一个查询,它将平均,但也告诉我它通过了多少记录。

我尽量避免使用两个查询。谢谢你的帮助。

这是非常基本的,应该可以通过搜索发现。

SELECT COUNT(field) as `count`, AVG(field) as `average` FROM table_name

根据您所说的术语-如果您不分组或类似的东西-您只需要编写

SELECT COUNT(col) AS cnt, AVG(col) AS avg FROM tbl;

你应该没有问题。您得到一行,字段cnt和col包含您需要的内容。

您遇到的问题可能是由于使用mysql_num_rows来获取计数,这是不正确的。忘记添加:或者您没有提供整个问题。

您可以在一个查询中使用多个聚合函数:

SELECT COUNT(*), AVG(field) FROM mytable
SELECT COUNT(*), AVG(YourColumn)
    FROM YourTable