2016-03-31 3 views
0

Я пытаюсь добавить новую функцию на свою метеостанцию, дату самой высокой температуры и самую дождливую дату.mysql query, возвращающий разные даты

Почему этот код дает разные даты в результате?

Если я изменил первый запрос на T, R, P или H, отображается максимум для строки, но дата всегда одна и та же. Как только я это понимаю, я могу исправить другие проблемы с кодом.

This is the output

$result = mysqli_query($con," 
    SELECT DateTime,max(Tmax) 
    FROM alldata   
    WHERE YEAR(DateTime) = YEAR(NOW())  

    " 
); 
while($row = mysqli_fetch_array($result)){ 
      $maxtempDate1 = $row['DateTime']; 
      $tempMax1 = $row['max(Tmax)']; 
} 

$result = mysqli_query($con," 
    SELECT DateTime,Tmax 
    FROM alldata 
    WHERE Tmax=(select max(Tmax) from alldata) 
    AND YEAR(DateTime) = YEAR(NOW())   
    " 
); 
while($row = mysqli_fetch_array($result)){ 
      $maxtempDate = $row['DateTime']; 
      $tempMax = $row['Tmax']; 

} 
+0

Я бы подумал И ГОД (DateTime) = ГОД (ТЕПЕРЬ()) также будет показан только в этом году. – Colin

+0

Итак, вы понимаете, что сейчас не так? – Strawberry

+0

Нет, не совсем. Второй запрос дает правильный результат. – Colin

ответ

0

$ результат = mysqli_query ($ кон,» ВЫБОР DateTime, Тмакс ОТ Alldata
ГДЕ ГОД (DateTime) = ГОД (NOW()) ORDER BY Tmax DESC LIMIT 1 " ); while ($ row = mysqli_fetch_array ($ result)) { $ maxtempDate = $ row ['DateTime']; $ tempMax = $ row ['Tmax'];

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