在Mysql中使用正则表达式获取最大值

时间:2014-03-28 07:13:07

标签: mysql max

invoice_id中有一列invoices。 invoice_id格式为

  

INV-2-43-的 001 -01
  INV-2-43-的 002 -01
  INV-2-43- 002 -02

我希望在粗体列中获得最高价值。

2 个答案:

答案 0 :(得分:1)

如果这是您可以通过两种方式获得的格式,我使用SUBSTRING_INDEX()来获取数字,一种方法是使用限制顺序

select 
SUBSTRING_INDEX(SUBSTRING_INDEX(Inv,'-',-2),'-',1) inv
FROM Table1
ORDER BY inv DESC
LIMIT 1;

另一种是使用MAX()函数

select 
MAX(SUBSTRING_INDEX(SUBSTRING_INDEX(Inv,'-',-2),'-',1)) inv
FROM Table1

Fiddle Demo

答案 1 :(得分:0)

你也可以这样做:

SELECT
REVERSE(SUBSTRING(REVERSE(Inv),4, 3))
FROM Table1

<强> SQLFiddle Demo