2016-06-07 2 views
0

У меня есть база данных с «датой» и «показаниями температуры». Я использую эти значения, чтобы составить график, показывающий показания температуры, полученные целый год.mysql_query. Выберите из одного столбца, но из двух разных лет

На данный момент у меня есть все показания с 2016 года на одном графике, но мне нравится делать два графика. Один с 2015 года и один с 2016 года.

Можно ли выбрать "out_temp", AS "temp_2015" и "out temp" AS "temp_2016"?

, чтобы добавить свои данные в диаграмму Google, мне нужны следующие столбцы: «дата», «темп_2015» и «темп_2016».

Вот что у меня есть:

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

Спасибо за вашу помощь

Ørjan

ответ

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') 
+0

Я попытался сделать то, что вы говорите, но я получить результат? no reading –

+0

Извините. У меня есть показания, но только 0 в оба года –

+0

вы можете показать немного своей входной таблицы - и какой именно тип 'date'? –

0

вы можете написать две одинаковые запросы, в результате чего два результата массивов. после этого вы можете объединить его в единый массив и построить график по состоянию на основе даты ... поскольку вам лучше знать, как вы будете строить график, соответственно измените свои данные.

+0

Спасибо за вашу помощь, но я новичок в этом и не собираюсь писать то, что вы описания. –

+0

Предположим, вы получили массив результатов 2015: $ temp15 = array (0 => array (0 => 10,1 => 42)); в показе даты и обезжиривания, у вас есть еще один массив, который пишет тот же запрос для соответствия 2016 году. то вы объедините оба массива с помощью array_merge(), и вы можете построить график. Вам просто нужно выяснить, как упорядочить данные массивов для построения графика ... .. запрос, который вы напишете, будет таким же, как вы уже написали получение нового результата на основе нового года ........ до сих пор я получаю от вашего вопроса ..... – LaviJ

+0

привет. проблема заключается в том, что оси времени идут с 2015 до 2016 года. Мне удается разделить показания температуры в годах.но когда я рисую их, сначала начинается захват 2015 года, затем продолжается 2016 год. Мне нравится, чтобы графы лежали друг над другом, чтобы я мог их сравнить. Можно ли просто указать номер недели или что-то, чтобы исключить год? так что два показания могут иметь одинаковые оси времени? –

Смежные вопросы