2014-04-08 27 views
0

我對此查詢有問題。它將返回當天的最高溫度,但返回空。我做錯了什麼?帶日期和最大值的子查詢()

SELECT * FROM tempdat WHERE日期(tdate)= CURDATE() 和溫度=( SELECT MAX(溫度) FROM tempdat);

回答

0

而是使用:

SELECT 
     convert(datetime, convert(varchar(12), tdate)) AS DayOfTemp 
     ,max(temperature)         AS MaxTemp 
FROM 
    tempdat 
WHERE 
    convert(datetime, convert(varchar(12), tdate)) = convert(datetime, convert(varchar(12, curdate())) 
group by 
    convert(datetime, convert(varchar(12), tdate)) 
+0

您將確保它符合當天的任何日期時間 –

+0

發生此錯誤:1064 - 您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第2行的convert(varchar(12,tdate))AS DayOfTemp,max(temperature)AS MaxTemp'附近使用正確的語法。 – user3476563

+0

對不起,忘了支架。 –

0

你的子查詢返回的數據的整體最大 - 而不是一天的,你需要的東西,如:

select max(temperature) from tempdat group by tdate having tdate = curdate() 
+0

工作。謝謝。 – user3476563

相關問題