如何在MYSQL中找到min()值

时间:2011-09-02 05:38:33

标签: mysql

我的数据库中有一个varchar类型的列。

表名:Transcations

列名:authprocess

我想在varchar列上找到min()值。

authprocess  

A1D1

A1D3

A1D4

A1D1

A1B1

A1D5  
......

我正在使用命令
从Trnascation选择min(authprocess) 然后它给出“0000”值

请告诉我Mysql中的命令。

2 个答案:

答案 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'匹配