2015-10-22 34 views
0

中倒置我不知道爲什麼我有這個,但是當我嘗試獲取min和max時,我收到錯誤的響應!Min和Max在MySQL

下面是該日期的內容:

enter image description here

這裏是我的MySQL的請求:

SELECT min(`value`),max(`value`) FROM weather_data WHERE `date`="2015-10-22" AND `type`="temperature" 

但MySQL的請求的響應是這樣的: http://puu.sh/kTr1q/af165a2dd9.png

你知道我爲什麼有這個迴應嗎?

+1

第二張圖像與第一張相同 – Alex

+1

「價值」的類型是什麼?讓我猜 - CHAR? – Bohdan

+0

狗屎,但我知道爲什麼我收到這個錯誤對不起,這是因爲我使用,而不是。浮點值 –

回答

0

它看起來像value被表示爲一個字符串。所以,愉快地,min()max()工作正常。

如果值可以在系統上進行轉換,你可以使用:

SELECT min(`value` + 0), max(`value` + 0) 
FROM weather_data 
WHERE `date` = '2015-10-22' AND `type` = 'temperature'; 

+會做沉默的轉換。如果最小值和最大值都返回0,則逗號不認可,所以用句點替換它們:

SELECT min(replace(`value`, ',', '.') + 0), max(replace(`value`, ',', '.') + 0) 
FROM weather_data 
WHERE `date` = '2015-10-22' AND `type` = 'temperature'; 
1

請注意,您必須在您的查詢的WHERE子句。您的查詢實際上做的是選擇日期爲提及日期的行(1行),然後從該行中選擇最大值和最小值(實際數據)

正確的查詢看起來像這樣:

SELECT分鐘(value),MAX(value)FROM weather_data WHERE type = 「溫度」

請閱讀有關數據類型過於其他職位。

1

您必須將數據類型從字符串更改爲數字類型:float或decimal。