繁体   English   中英

我如何计算一个月的平均总数

[英]How do i calculate the average total of a month

嗨,我在下面有表格daily_report显示列

report_id | peak_generation | pdate | plant_id

每行代表特定工厂产生的总能量(每天为7棵工厂)。 我有1年(2014年1月12日)的数据分布表。 我需要查询以绘制每月的总“平均”峰值生成量。 我使用融合图能够绘制的是每月的总峰值生成量(即,总的峰值生成Y轴相对于月份的X轴)。 如何获得每月总工厂的平均值? 下面是代码的清晰性。

<?php
//We've included ../Includes/FusionCharts.php and ../Includes/DBConn.php,     which contains
//functions to help us easily embed the charts and connect to a database.
include("Includes/FusionCharts.php");
include("Includes/DBConn.php");
?>
<HTML>
<HEAD>
<TITLE>
FusionCharts Free - Database Example
</TITLE>
<?php
//You need to include the following JS file, if you intend to embed the chart using JavaScript.
//Embedding using JavaScripts avoids the "Click to Activate..." issue in Internet Explorer
//When you make your own charts, make sure that the path to this JS file is   correct. Else, you would get JavaScript errors.
?>  
<SCRIPT LANGUAGE="Javascript" SRC="js/FusionCharts.js"></SCRIPT>
<style type="text/css">
<!--
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
.text{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
-->
</style>
</HEAD>
<BODY>


<?php
//In this example, we show how to connect FusionCharts to a database.
//For the sake of ease, we've used an MySQL databases containing two
//tables.

// Connect to the DB
$link = connectToDB();


// Fetch all factory records
//$strQuery = "select * from daily_output";
//$result = mysql_query($strQuery) or die(mysql_error());


//Iterate through each factory
//if ($result) {
    //
        //Now create a second query to get details for this factory
        $strQuery = "select SUM(peak_generation) as TotOutput, MONTHNAME (pdate) as MONTH FROM daily_report WHERE pdate BETWEEN '2015-01-01' AND '2015-12-30' GROUP BY MONTH (pdate)";
        $result = mysql_query($strQuery) or die(mysql_error()); 

        $strXML = "<graph caption='Total Peak Electricity Generated ---- 2015 Month by Month' numberSuffix='MW' xAxisName='Month' yAxisName='MegaWatts' decimalPrecision='0' formatNumberScale='0' yaxismaxvalue='5000'>";


        while($row = mysql_fetch_array($result)) {
        //Generate <set name='..' value='..' />        
        $strXML .= "<set name = '".$row['MONTH']."' value = '".$row['TotOutput']."' />";

        //$strXML .="<set name ='" . datePart("d",$row['DAYS']) . "/" . datePart("m",$row['DAYS']) . "' value='" . $row['TotOutput'] . "'/>"; 
        }
        //Finally, close <graph> element
        $strXML .= "</graph>";
        //Create the chart - Pie 3D Chart with data from $strXML
        //echo renderChart("charts/FCF_Column3D.swf", "", $strXML, "FactorySum", 650, 450);
        echo renderChart("charts/FCF_Column3D.swf", "", $strXML, "annual_revenue", 1200, 500);


        //free the resultset
        mysql_free_result($result);


    mysql_close($link);
?>




<BR><BR>
<a href='../NoChart.html' target="_blank">Unable to see the chart above?</a>
<H5 ><a href='../default.htm'>&laquo; Back to list of examples</a></h5>


<CENTER></CENTER>
</BODY>
</HTML>

尝试group by month使用mysql的AVG()group by month您应该会得到输出。

您可以在此处查看教程: 此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM