我對此查詢有問題。它將返回當天的最高溫度,但返回空。我做錯了什麼?帶日期和最大值的子查詢()
SELECT * FROM tempdat WHERE日期(tdate)= CURDATE() 和溫度=( SELECT MAX(溫度) FROM tempdat);
我對此查詢有問題。它將返回當天的最高溫度,但返回空。我做錯了什麼?帶日期和最大值的子查詢()
SELECT * FROM tempdat WHERE日期(tdate)= CURDATE() 和溫度=( SELECT MAX(溫度) FROM tempdat);
而是使用:
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))
你的子查詢返回的數據的整體最大 - 而不是一天的,你需要的東西,如:
select max(temperature) from tempdat group by tdate having tdate = curdate()
工作。謝謝。 – user3476563
您將確保它符合當天的任何日期時間 –
發生此錯誤:1064 - 您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第2行的convert(varchar(12,tdate))AS DayOfTemp,max(temperature)AS MaxTemp'附近使用正確的語法。 – user3476563
對不起,忘了支架。 –