Parece que estás almacenando numeric valores como cadenas. Realmente deberías arreglar los datos. Pero, puedes arreglar la consulta. En mi opinión, el método más simple es la conversión implícita:
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;
Tenga en cuenta que la pressure
y condition
no están en tu GROUP BY
, por lo que los valores se eligen de filas arbitrarias. Esta es una práctica realmente mala y significa que su consulta no funcionará en casi ninguna otra base de datos.
Puede corregir los datos haciendo algo como:
alter table infoboard.forecasts
modify column temp_min decimal(6, 3),
modify column temp_max decimal(6, 3);
Sospecho que querrías hacer lo mismo con la pressure
también.