簡體   English   中英

SQL 查詢將列數據的平均值輸入 JSON 用於 PHP 中的谷歌餅圖

[英]SQL query to take avg of column data into JSON for google pie chart in PHP

I need to create a SQL query and the PHP code to enter this data into JSON format for a pie chart using Google Charts API.

+--------+---------+---------+---------+
| City   | P1      | P10     | P25     |
+--------+---------+---------+---------+
|Dubai   |       45|      135|      136|
|SanDiego|       23|       34|       45|
|SanFran |       37|       39|       28|
+--------+---------+---------+---------+

這是我已經嘗試過的查詢:

<?php
$rows2 = array();
$table2 = array();
$query2 = 'SELECT AVG(`P1`) AS avg_p1, AVG(`P10`) AS avg_p10, AVG(`P25`) (SELECT `P1`, `P10`, `P25` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` AS pmname
WHERE `TABLE_SCHEMA`='g1109689' 
    AND `TABLE_NAME`='realtime') AS avg_p25 FROM `realtime` WHERE `City`="Dubai"';
$result2 = mysqli_query($conn, $query2);
$table2['cols'] = array(
 array(
  'label' => 'PM Type', 
  'type' => 'string'
 ),

 array(
  'label' => 'PM Number', 
  'type' => 'number'
 )
);

while($row2 = mysqli_fetch_array($result2))
{
 $sub_array2 = array();
 $sub_array2[] =  array(
      "v" => $row2["avg_p1"]
     );
$sub_array2[] =  array(
      "v" => $row2["avg_p10"]
     );
 $sub_array[] =  array(
      "v" => $row2["avg_p25"]
     );
 $rows2[] =  array(
     "c" => $sub_array2
    );
}
$table2['rows'] = $rows2;
echo $jsonTable2;
?>

我希望餅圖的類別分別是 P1、P10、P25 的平均值。 那么如何創建 SQL 語句到 select 的平均值和列的名稱以及如何將其放入 JSON 表中? 謝謝!

我猜你想要按行平均,即為每個城市添加(p1+p10+p25)/3而不是按列。 所以你可以試試下面的查詢 -

select city,(tablename.p1 + tablename.p10 + tablename.p25) / 3 as average from tablename

如果要按列計算每個城市的 avg,可以使用 sql 的avg()方法。

select city, avg(p1),avg(p10),avg(p25) from tablename;

PS:如果你使用 avg() function,你只會得到一個城市的名字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM