Anda tampaknya menyimpan numerik nilai sebagai string. Anda benar-benar harus memperbaiki data. Tapi, Anda bisa memperbaiki kueri. Menurut pendapat saya, metode paling sederhana adalah konversi implisit:
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;
Perhatikan bahwa pressure
dan condition
tidak ada dalam GROUP BY
, jadi nilai dipilih dari baris arbitrer. Ini adalah praktik yang sangat buruk, dan berarti kueri Anda tidak akan berfungsi di hampir semua basis data lain.
Anda dapat memperbaiki data dengan melakukan sesuatu seperti:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
Saya menduga Anda ingin melakukan hal yang sama untuk pressure
juga.