我的数据库中有一个varchar类型的列。
表名:Transcations
列名:authprocess
我想在varchar列上找到min()值。
authprocess
A1D1
A1D3
A1D4
A1D1
A1B1
A1D5
......
我正在使用命令
从Trnascation选择min(authprocess)
然后它给出“0000”值
请告诉我Mysql中的命令。
答案 0 :(得分:0)
MIN()对于字符串没有任何意义,你最好的选择是通过提升值进行字符串排序并选择最顶层的字符串吗?
SELECT TOP 1 FROM table ORDER ASC;
答案 1 :(得分:0)
MIN()
在排序后获取第一个条目。对于文本列,排序顺序为ascii顺序,因此对于字母数字数据,它是0..9a..zA..Z
您必须拥有值为0000
的条目,这当然是最小值。
听起来您需要将搜索限制为“有效”条目。假设条目有形式字母数字字母数字有效,请尝试:
select min(authprocess)
from Transcations
where authprocess regexp '[A-Z]\d[A-Z]\d'
您可以调整正则表达式以满足您的任何需求 - 例如,可能是A-digit-D-digit
,这与正则表达式'A\dD\d'
匹配