HKL9(字符串)大于
HKL15,因为它们被比较为字符串。解决问题的一种方法是定义一个仅返回发票编号数字部分的列函数。
如果您的所有发票编号均以开头
HKL,则可以使用:
SELECt MAX(CAST(SUBSTRINg(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table
它使用invoice_number(不包括前3个字符)转换为int,然后从中选择max。

HKL9(字符串)大于
HKL15,因为它们被比较为字符串。解决问题的一种方法是定义一个仅返回发票编号数字部分的列函数。
如果您的所有发票编号均以开头
HKL,则可以使用:
SELECt MAX(CAST(SUBSTRINg(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table
它使用invoice_number(不包括前3个字符)转换为int,然后从中选择max。