这可能非常简单,但我试图做一个将返回结果平均值的查询,但我也希望它计算用于获得平均值的行数。例如:
Row 1 = 5
Row 2 = 2
Row 3 = 9
Row 4 = 1
Average = 4.25
Count = 4
有一种方法可以将一个查询与两个查询相关联。当我使用avg函数总是只返回一行所以我的计数是1而不是4.我需要一个平均的查询,但也告诉我它经历了多少记录。
我试图避免使用两个查询。谢谢你的帮助。
答案 0 :(得分:7)
这是非常基本的,应该可以通过搜索找到。
SELECT COUNT(field) as `count`, AVG(field) as `average` FROM table_name
答案 1 :(得分:1)
在你所说的条款中 - 如果你不是GROUPing或类似的东西 - 你只需要写
SELECT COUNT(col) AS cnt, AVG(col) AS avg FROM tbl;
你应该没有问题。你得到一行,字段cnt和col包含你需要的东西。
您遇到的问题可能是由于使用mysql_num_rows
来计算,这是不正确的。
忘记添加:或者您没有提供整个问题。
答案 2 :(得分:0)
您可以在一个查询中使用多个聚合函数:
SELECT COUNT(*), AVG(field) FROM mytable
答案 3 :(得分:0)
SELECT COUNT(*), AVG(YourColumn)
FROM YourTable