2014-05-05 42 views
-1

我有一個數據庫,我根據選中的複選框調用數據(Retrieve data from sql database and display in tables - Display certain data according to checkboxes checked)。我想添加一個計算平均值的選項(在所需日期之間)。如何編寫查詢,在輸出不是特定的時候計算平均值?如何計算在php中的列的平均值

這是在第一個地方叫我的數據的查詢:

$tmp ="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\""; 

根據複選框選中+不平均的日期和時間列如何能平均查詢調用數據:

$average="SELECT AVG(",", $sql_columns) AS PriceAverage FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\""; 

這是我的嘗試,但似乎沒有工作。問題在於AVG是用於字符串的,我想顯示一個數組。

+0

文本文件中的表格只是一個奇特的格式化文本。但是您需要控制表格單元的間距和尺寸。而且,當然,你將不得不使用某種ASCII圖形作爲邊界:「|」和「_」符號。 –

+0

儘管它非常簡單,但您可以首先檢測單列中最長的文本值 - 它將是當前列寬。然後,在向該列寫入值時,將使用如下所示的方法:'「|」。$ some_spaces_left。$ value。$ some_spaces_right。「|」',其中'$ some_spaces_left'和'$ some_spaces_right'是文本邊距,保持文本居中。並且還要記住邊緣的邊界。但是,實際上,你也可以做任何沒有邊框的東西,只需要格式化帶有空格的列。 –

回答

0

首先你聲明一個與你的列相匹配的變量[在括號內(例如(DNI)],並給出命令來計算它們的平均值。最後命名平均值,例如'adni'。

$avg_names=array('1'=>'AVG(DNI) as adni', '2'=>'AVG(GHI) as aghi', '3'=>'AVG(Zenith_Angle) as azenith', '4'=>'AVG(DiffuseHI) as adhi'); 

$average="SELECT ".implode(",", $avg_names)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\"";