我想从气象站的温度数据(daten_temp)中获取最小值/最大值。
我的数据库名称是“ wetterdaten”,在这个示例中,我想从今年(daten_jahr = 2019)的一月(daten_monat = 01)中获取最小值。
温度数据看起来像这样(格式):-0.9或14.1 ...等。
结果为:-0.1,但我认为我需要-9.4或类似的内容。
有人有解决办法吗?
PHPmyadmin,MySQL 5.6.42,(PHP 7.2)
SELECT MIN(daten_temp)
FROM wetterdaten
WHERE daten_monat = '01'
AND daten_jahr = '2019'
MIN(daten_temp)
-0.1
结果是-0.1,但我需要类似-9.4
答案 0 :(得分:1)
如果将值存储为字符串,则需要将其解释为数字。在对字符串进行排序时,'-0.1'
实际上小于'-9.4'
,因为0小于9。
MySQL中的一种简单机制是将0
添加到该值以转换为数字:
SELECT MIN(daten_temp + 0)
FROM wetterdaten
WHERE daten_monat = '01' AND daten_jahr = '2019';
也就是说,温度是数字,应这样存储。我建议:
alter table wetterdaten modify column daten_temp decimal(6, 3);