我不知道为什么我会这样,但是当我尝试获得最小值和最大值时,我收到了错误的响应!
以下是此日期的内容:
这是我的MySQL请求:
SELECT @liststr = CONCAT(@liststr, ',', name) FROM comma
SELECT @liststr AS myString
你知道为什么我有这个回应吗?
答案 0 :(得分:1)
请注意,查询中有WHERE子句。您的查询实际上做的是选择日期为上述日期的行(1行),然后从该行中选择最大值和最小值(实际数据)
正确的查询如下所示:
SELECT min(
value
),max(value
)FROM weather_data WHEREtype
=“temperature”
请阅读有关数据类型的其他帖子。
答案 1 :(得分:1)
您必须将数据类型从字符串更改为数字类型:float或decimal。
答案 2 :(得分:0)
看起来value
表示为字符串。所以,很高兴min()
和max()
正常运作。
如果可以在系统上转换值,则可以使用:
SELECT min(`value` + 0), max(`value` + 0)
FROM weather_data
WHERE `date` = '2015-10-22' AND `type` = 'temperature';
+
将执行静默转换。如果min和max都返回0,则无法识别逗号,因此请用句点替换它们:
SELECT min(replace(`value`, ',', '.') + 0), max(replace(`value`, ',', '.') + 0)
FROM weather_data
WHERE `date` = '2015-10-22' AND `type` = 'temperature';