【问题标题】:Get AVG() of select statement获取select语句的AVG()
【发布时间】:2013-02-24 14:18:34
【问题描述】:

如何获得select 查询结果的平均值

示例:

select x from dbo.table1 as a
where MONTH(a.mymonth) = 1 AND YEAR(a.myyear) = 2013

可以使用AVG()函数吗?

【问题讨论】:

  • 你想计算哪一列AVG
  • 这就是问题所在,我想得到上面这个查询结果的平均值
  • 给出预期结果的 mu 样本记录。
  • 从来没有听说过这样的事情。你期望什么输出?
  • 上面的查询结果应该给我一个列,我想要那个列的平均值。

标签: sql-server tsql average


【解决方案1】:

这就是你要找的全部吗?

select AVG(x)
from dbo.table1
where MONTH(mymonth) = 1 AND YEAR(myyear) = 2013

Sample Fiddle Demo

根据 x 的数据类型,您可能希望将其转换为小数:

SELECT AVG(CAST(x as decimal))

【讨论】:

    【解决方案2】:

    是否可以使用 AVG() 函数?

    是的,将它包裹在 x 周围,所以:

        select AVG(x) from dbo.table1 as a
        where MONTH(a.mymonth) = 1 AND YEAR(a.myyear) = 2013
    

    在这里了解更多信息。

    http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_avg

    【讨论】:

      【解决方案3】:

      如果你想平均 x 你的 select 查询应该是这样的:

      Select AVG(x)
      from dbo.table1 as a
      where MONTH(a.mymonth) = 1 AND YEAR(a.myyear) = 2013
      

      【讨论】:

        猜你喜欢
        • 2012-10-03
        • 2013-06-17
        • 1970-01-01
        • 1970-01-01
        • 2011-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多