的mysql_query。从同一列中选择,但是从两年不同

时间:2016-06-07 07:10:48

标签: mysql sql select graph

我有一个带有“日期”和“温度读数”的数据库。我使用这个值来制作一个显示全年温度读数的图表。

目前,我已将2016年的所有读数都放在一张图中,但我想制作两张图。一个从2015年开始,一个从2016年开始。

选择“out_temp”,AS“temp_2015”和“out temp”AS“temp_2016”是否可行?

要将我的数据添加到Google图表,我需要以下列,“日期”,“temp_2015”和“temp_2016”。

这就是我所拥有的:

$result = mysql_query
                      ("
                      SELECT DATE_FORMAT(date, '%u.%y') AS Time1    ,    out_temp AS out_temp 
                      FROM $table 
                      where YEAR(date)=2016;
                      ");

感谢您的帮助

与Orjan

2 个答案:

答案 0 :(得分:0)

尝试:

SELECT DATE_FORMAT(date, '%u.%y') AS Time1,    
case when YEAR(date) = 2015 then  out_temp else 0 end as temp_2015,
case when YEAR(date) = 2016 then  out_temp else 0 end as temp_2016
FROM $table 
如果你每年有1个读数,这将有效。 我想你可能有不止一个阅读,所以你可以使用:

SELECT DATE_FORMAT(date, '%u.%y') AS Time1,    
avg(case when YEAR(date) = 2015 then  out_temp else 0 end) as temp_2015,
avg(case when YEAR(date) = 2016 then  out_temp else 0 end) as temp_2016
FROM $table
group by DATE_FORMAT(date, '%u.%y')

答案 1 :(得分:0)

您可以编写两个相同的查询,从而生成两个结果数组。之后,您可以将其合并为一个数组,并在日期基础条件下绘制图表...因为您更了解如何绘制图表,相应地更改数据..

相关问题