在sql数据库中按年份选择

时间:2016-06-03 08:48:26

标签: php mysql sql mysqli

我创建了这个网站:http://temperatur.co.nf/year.php 它是一个温度记录仪,每1小时以平均值读取最后24小时的读数,并将其绘制在图表上。

我想改变这一点,以显示2015年的所有读数,每天都有。 那么我想从2016年获得二次数据。

问题: - 如何只读一年的数据? - 如何将两个不同年份的读数放在同一个图表中,以便两个读数在同一个日期?

我喜欢使用图表比较两年

数据库有一列(时间)和一列温度(out_temp)

我目前的计划:

{
        var data1 = google.visualization.arrayToDataTable(
                [
                      ['date','Outdoor'],
                      <?php


                      // select average readings      select * from readings where year(date) = 2015 
                      $result = mysql_query("SELECT DATE_FORMAT( date  , '%d.%c.%y %H:%i') AS Time1, AVG( out_temp ) AS out_temp FROM $table WHERE TIMESTAMPDIFF(HOUR,date, now()) < $hours GROUP BY ROUND( UNIX_TIMESTAMP( date ) DIV ($avg*3600) ) ");
                      if ($result !== false) 

                      {
                               $num=mysql_numrows($result);
                               $i=0;
                               while ($i < $num) 

                               {
                                $time=mysql_result($result,$i,"Time1");
                                $out_temp=mysql_result($result,$i,"out_temp");

                                echo "['";
                                echo "$time";
                                echo "',";
                                echo "$out_temp";
                                echo "]";
                                if ($i < ($num - 1)){
                                 echo ",";
                                }
                                $i++;
                               }

                      }

                      ?>
                ]);


        var options1 =  
        {
              title: 'Temperatures',
              curveType: 'function',
              legend: {position: 'bottom'},

              animation:{duration: 1000,easing: 'in',startup: true},

              vAxis: {viewWindowMode:'explicit',viewWindow: {max:35,min:-10} }
        };




        var chartA = new google.visualization.LineChart(document.getElementById('chart_div'));
        chartA.draw(data1, options1);

}

1 个答案:

答案 0 :(得分:0)

  

如何只读一年的数据?

select * from table where YEAR(date_field)=2016
  

如何将两个不同年份的读数放在同一个图表中,以便两个读数在同一个日期?

select * from table where YEAR(date_field)=2016 or YEAR(date_field)=2015