Det ser ud til, at du gemmer numerisk værdier som strenge. Du burde virkelig rette op på dataene. Men du kan rette forespørgslen. Efter min mening er den enkleste metode implicit konvertering:
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;
Bemærk at pressure
og condition
er ikke i din GROUP BY
, så værdier vælges fra vilkårlige rækker. Dette er en rigtig dårlig praksis og betyder, at din forespørgsel ikke ville fungere i næsten enhver anden database.
Du kan rette op på dataene ved at gøre noget som:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
Jeg formoder, at du gerne vil gøre det samme for pressure
også.