繁体   English   中英

Min和Max在MySQL中是相反的

[英]Min and Max are inversed in MySQL

我不知道为什么会有这个,但是当我尝试获取最小值和最大值时,会收到错误的响应!

这是该日期的内容:

在此处输入图片说明

这是我的MySQL请求:

SELECT min(`value`),max(`value`) FROM weather_data WHERE `date`="2015-10-22" AND `type`="temperature"

但是MySQL请求的响应是这样的: http://puu.sh/kTr1q/af165a2dd9.png

您是否知道我为什么要回复?

请注意,查询中有WHERE子句。 您的查询实际要做的是选择日期为提到的日期的行(1行),然后从该行中选择最大值和最小值(实际数据)

正确的查询如下所示:

从天气数据中选择最小值( value ),最大值( value ), type为“温度”

请阅读有关数据类型的其他文章。

您必须将数据类型从字符串更改为数字类型:浮点型或十进制。

看起来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';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM