2012-10-07 75 views
0

我需要在MySql數據庫中輸入如下所示的主鍵值。在MySql中提取某些字符後,查找主鍵字段的最大值

B001_V_WB_001 
B002_V_WB_002 
B003_V_WB_003 
B004_V_WB_004 
B005_V_WB_005 

.... 
.... 

B011_V_WB_010 
B010_V_WB_011 

... 
... 

B100_V_WB_100 
B101_V_WB_101 

... 
... 

B1000_V_WB_1000 
B1001_V_WB_1001 

等等。我需要跨越此列的所有行,並從右側抽取第一次出現下劃線-,並從此列中的所有行中查找最大值。

在MySql中有這樣做的最好方法嗎?

回答

2
SELECT MAX(CAST(SUBSTRING_INDEX(id,'_',-1) AS SIGNED)) from foo; 
+0

謝謝!如果它可以處理大於整數的值,那會更好。 – Bhavesh

+0

更好的解決方案是使用正確的序列,但遺憾的是MySQL不支持序列。愛上postgresql的另一個原因。 –

相關問題