Zdá se, že ukládáte numerické hodnoty jako řetězce. Opravdu byste měli opravit data. Dotaz však můžete opravit. Podle mého názoru je nejjednodušší metodou implicitní konverze:
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;
Všimněte si, že pressure
a condition
nejsou ve vaší GROUP BY
, takže hodnoty jsou vybírány z libovolných řádků. Toto je opravdu špatný postup a znamená to, že váš dotaz nebude fungovat v téměř žádné jiné databázi.
Data můžete opravit takto:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
Mám podezření, že byste chtěli udělat totéž pro pressure
také.