MySQL - 在不止一行上显示AVG

时间:2013-02-03 22:49:43

标签: mysql sql aggregate-functions

如果我运行包含Aggregation function (AVG)的查询,有什么方法可以让它显示在多行上?我需要的查询类似于:

SELECT field1, field2, AVG(field2) FROM tMyTable;

我需要的输出类似于:

field 1 | field 2 | AVG(field2)               
record1 | 1.17    | 1.19     
record2 | 1.21    | 1.19    
record3 | 1.18    | 1.19

如您所见,我需要在每一行显示平均输出。我很欣赏这可能是一种非正统的方法,但是我使用的图表应用程序需要输出格式。

如果有任何可用的方法,那么我将非常感谢你的建议。也许嵌套第二次查找?

2 个答案:

答案 0 :(得分:2)

SELECT field1,field2,(SELECT AVG(field2) FROM Table) AS AvgFieldTwo
FROM Table

答案 1 :(得分:1)

您还可以使用CROSS JOIN

SELECT field1, field2, src.AvgField2
FROM MyTable
CROSS JOIN
(
  SELECT avg(field2) AvgField2
  FROM MyTable
) src