【问题标题】:PHP MYSQL - Count & Average In Same QueryPHP MYSQL - 同一查询中的计数和平均值
【发布时间】:2012-09-05 20:23:32
【问题描述】:

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

Row 1 = 5
Row 2 = 2
Row 3 = 9
Row 4 = 1

Average = 4.25
Count = 4

有没有办法通过一个查询对两个查询来做到这一点。当我使用 avg 函数时,它总是只返回一行,所以我的计数是 1 而不是 4。我需要一个能够平均但也告诉我它经历了多少条记录的查询。

我试图避免使用两个查询。感谢您的帮助。

【问题讨论】:

    标签: php mysql count average


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      按照你所说的 - 如果你不是 GROUPing 或类似的东西 - 你只需写

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:
          SELECT COUNT(*), AVG(YourColumn)
              FROM YourTable
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-03-29
            • 2012-02-03
            • 2022-07-07
            • 2013-03-06
            • 1970-01-01
            • 2016-12-25
            • 2021-05-26
            • 1970-01-01
            相关资源
            最近更新 更多