ऐसा लगता है कि आप संख्यात्मक संग्रहित कर रहे हैं स्ट्रिंग्स के रूप में मान। आपको वास्तव में डेटा को ठीक करना चाहिए। लेकिन, आप क्वेरी को ठीक कर सकते हैं। मेरी राय में, सबसे सरल तरीका निहित रूपांतरण है:
SELECT MIN(`temp_min` + 0) AS `temp_min`,
MAX(`temp_max` + 0) AS `temp_max`,
`dt_txt`, DAYNAME(`dt_txt`) AS `dayname`,
`pressure`, `condition`, `dt_txt`
FROM infoboard.forecasts
WHERE `dt_txt` >= CURDATE()
GROUP BY `dt_txt`
ORDER BY `dt_txt` ASC;
ध्यान दें कि pressure
और condition
आपके GROUP BY
. में नहीं हैं , इसलिए मान मनमानी पंक्तियों से चुने जाते हैं। यह वास्तव में एक खराब अभ्यास है, और इसका मतलब है कि आपकी क्वेरी लगभग किसी भी अन्य डेटाबेस में काम नहीं करेगी।
आप कुछ ऐसा करके डेटा को ठीक कर सकते हैं:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
मुझे संदेह है कि आप pressure
. के लिए भी ऐसा ही करना चाहेंगे साथ ही।