U lijkt numeriek op te slaan waarden als tekenreeksen. Je moet echt de gegevens repareren. Maar u kunt de query repareren. Naar mijn mening is de eenvoudigste methode impliciete conversie:
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;
Merk op dat pressure
en condition
staan niet in uw GROUP BY
, dus waarden worden gekozen uit willekeurige rijen. Dit is echt een slechte gewoonte en het betekent dat uw zoekopdracht in bijna geen enkele andere database zou werken.
U kunt de gegevens herstellen door iets te doen als:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
Ik vermoed dat je hetzelfde zou willen doen voor pressure
ook.