0
我S_ID值我想從被聲明爲VARCHAR類型我S_ID列中獲取最大價值
S_1
S_2
S_3,...., S_11.
我用SELECT MAX(S_ID) FROM stock_detail
,以獲得最大的價值。
它一直工作到S_9,但是當它到達S_11時:該查詢只給我S_9作爲最大值。我該如何獲得S_11作爲最大值?請幫助我,我只是編程的初學者。
我S_ID值我想從被聲明爲VARCHAR類型我S_ID列中獲取最大價值
S_1
S_2
S_3,...., S_11.
我用SELECT MAX(S_ID) FROM stock_detail
,以獲得最大的價值。
它一直工作到S_9,但是當它到達S_11時:該查詢只給我S_9作爲最大值。我該如何獲得S_11作爲最大值?請幫助我,我只是編程的初學者。
您可以使用此結構得到最大的價值:
select s_id
from stock_detail
order by length(s_id) desc, s_id desc
limit 1;
這首先將其較長的值。
如果你想使用max()
,那麼你需要解構的數字。喜歡的東西:
select concat('S_', max(replace(s_id, 'S_', '') + 0))
from stock_detail;
這可以讓你得到一個數字最大值而非字符最大值,這是你的問題的根源。
非常感謝!它正在工作! :) – July 2014-09-21 16:54:42