MySQL max函数获取最大值错误

问题描述

通过sql查询得到的最大值为947669

但是通过查看表数据的最大值为1120184

这是因为registered_Live_User字段的数据类型为varchar类型。

所以max获取的最大值会从头开始比较,947669的第一位为9,1120184的第一位为1,所以max函数获取的最大值为9开头的数值。

解决办法

如果在不修改数据库表结构的情况下。

可以在max函数里面+0解决。

这样获取的值才是最大值

原文地址:https://www.cnblogs.com/oyjg/p/12566791.html

时间: 2024-10-09 15:21:32

MySQL max函数获取最大值错误的相关文章

MySQL时间函数-获取当前时间-时间差

MySQL中获取当前时间为now(),不同于sqlserver getdate(). SQLServer转MySQL除变化top 1 -> limit 1之后报错: select 1 from record_visitor where visitor_ip='' and datediff(mi,visitor_time,getdate())<=30 limit 1 [Err] 1582 - Incorrect parameter count in the call to native func

MySQL通过函数获取字符串汉字拼音首字母大写字符串

DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARCHAR(21845)) RETURNS VARCHAR(21845) CHARSET utf8 BEGIN #截取字符串,每次做截取后的字符串存放在该变量中,初始为函数参数in_string值 DECLARE tmp_str VARCHAR(21845) CHARSET gbk DEFAULT ''

mysql max 函数的陷阱

age  0,1,2,3,4,50,6 类似的一个sql SELECT max(age) FROM   (SELECT age    FROM xxx) a 在我的机器上返回了 6 50被判定为比6小,我猜max是拿age当字符来计算大小了 解决的办法是在age后面加一个  +0 : SELECT max(age+0) FROM   (SELECT age    FROM xxx) a

Mysql中max函数的使用说明

MySQL 中的Max() 函数是用来找出记录集中最大值的记录: 注意: 对字符型数据的最大值,是按照首字母由A-Z的顺序排列,越往后,其值越大.当然,对于汉字则是按照其全拼拼音排列的,若首字符相同,则比较下一个字符,以此类推. 对于日期时间类型的数据也可以求其最大/最小值,其大小排列就是日期时间的早晚,越早认为其值越小, 原文地址:http://blog.51cto.com/59465168/2324977

mysql,字符串类型id,获取最大值

说明,这个id是字符串类型,但是实际值是一个整数,获取最大值的方法是: select max(cast(id as SIGNED)) from table 另外,mysql生成伪列的方法: SELECT @rownum:[email protected]+1 AS rownum, t.* FROM (SELECT @rownum:=0) r, ai_label_detail_t t 原文地址:https://www.cnblogs.com/gunduzi/p/12076452.html

ZeroMQ接口函数之 :zmq_strerror - 获取ZMQ错误描述字符串

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_strerror zmq_strerror(3) ØMQ Manual - ØMQ/4.1.0 Name zmq_strerror - 获取ZMQ错误描述字符串 Synopsis const char *zmq_strerror (int errnum); Description zmq_strerror()函数会返回errnum参数对应的错误描述字符串的指针.由于ZMQ在操作系统之上增加了错误定义,应用程序更

3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值

睡前分享一个小技巧- 使用min和max函数来巧妙的查找一个字典中的最大value和最小value. 比如说,现在有一个字典,字典的key是用户名,value则是这个用户的账户有多少钱. 现在想要找出账户内余额最多的用户,请问如何实现? d1 = {'suhaozhi':12345,'tony':4513,'eric':135,'jolin':13000000} 很简单,只要使用zip函数结合max函数就可以做到了. print max(zip(d1.values(),d1.keys())) #

MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看. 错误 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less

MS SQL获取最大值或最小值日期的函数

原文:MS SQL获取最大值或最小值日期的函数 开发ERP时,会使用到下面两个获取最大值或最小值日期的函数. 最大日期值: MaximumDateValue CREATE FUNCTION [dbo].[MaximumDateValue] () RETURNS DATETIMEASBEGIN   RETURN CONVERT(DATETIME, '9999-12-31 23:59:59.998', 121)END 最小日期值: MinimumDateValue CREATE FUNCTION [