php - 如何从mysql显示平均值

标签 php mysql mysqli

如何显示mysql中某一列的平均值?

下面是我迄今为止尝试过的代码:

<?php
  if (isset($_GET["age"]));
  $age = ($_GET["age"]);
  include($_SERVER["DOCUMENT_ROOT"] . "/includes/config.php");

  // Input
  $sql = "SELECT AVG(column_name) FROM table_name";

  // Check age
  if ($age > 99 or $age < 5) {
    echo ("We only store data of people between the age of 5 and 99.");
    if (!mysqli_query($conn, $sql)) {
      die('Error: ' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
    }
  } 
  else {
    echo ("We got it!");
  }

  // Close connection
  ((is_null($___mysqli_res = mysqli_close($conn))) ? false : $___mysqli_res);

  die();
?>

但是如何精确地为 AVG 结果定义一个最多保留 2 位小数的变量呢?

我想使用它并将其显示到另一个文件中(所以我将包含这个文件)。

我现在拥有的

<?php
if (isset($_GET["age"]));
$age = ($_GET["age"]);
include($_SERVER["DOCUMENT_ROOT"] . "/3/includes/config.php");
include($_SERVER["DOCUMENT_ROOT"] . "/3/includes/opendb.php");

// My own created code
$sql = $conn->query("SELECT ROUND(AVG(price AS FLOAT), 2) FROM data WHERE age= '$age'");
$data = $sql->mysqli_fetch_assoc();
$avg_data = $data['price'];
echo $avg_data;

// This below is from an other post but don't know how it works and if it is good.
$ratings = $conn->query("SELECT AVG(price) avg_rating FROM data form_id = '" . $age . "'");
$data2 = $ratings->mysqli_fetch_assoc();
$avg_rating = $data2['avg_rating'];
echo $avg_rating;

die();

?>

最佳答案

像这样使用以获得带有两位小数的平均值。

  $sql = "SELECT ROUND(AVG(column_name AS FLOAT), 2) FROM table_name";

关于php - 如何从mysql显示平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41036324/

相关文章:

php - 关于 mysql_fetch_array() 的警告

php - symfony循环中的日期减10分钟

php - MySQL 服务器已消失 - 共享帐户

PHP mysqli 更新表中的 blob 值不执行任何操作

php - 针对数组中的每个值检查值

php - SQL将我的输入日期更改为0000-00-00,将时间更改为00:00:17

asp.net - 从 ASP.net Web 服务返回大量数据时有哪些好的做法?

Java - 使用 hibernate 读取从 MYSQL 查询返回的列表

php - 如何获取表行的值并在 else if 语句中使用它

php - 一次插入多个值并同时检查重复值