HKL9
(string) é maior que HKL15
, porque eles são comparados como strings. Uma maneira de lidar com seu problema é definir uma função de coluna que retorne apenas a parte numérica do número da fatura. Se todos os seus números de fatura começarem com
HKL
, então você pode usar:SELECT MAX(CAST(SUBSTRING(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table
Ele pega o invoice_number excluindo os 3 primeiros caracteres, converte em int e seleciona o máximo dele.