簡體   English   中英

從 MySQL 中的 varchar 列獲取最大值

[英]Get max value from varchar column in MySQL

我需要從 varchar 類型的列中獲取最大值。 值不要太復雜,只是簡單的值,如CAR 001 (無空格)、 CAR 002 (無空格)、 CAR 003 (無空格)。

我嘗試了與此類似的其他問題的任何答案,但它總是在我的 SQL 語法中出現錯誤,而我嘗試的最后一個是

SELECT MAX(CONVERT(`code`, UNSIGNED)) AS MAX FROM `account`

,但我得到的是0。真正的必須是3。 請幫助我,無論如何對不起英語不好。

嘗試使用SUBSTRING_INDEX來隔離數字部分:

SELECT *
FROM yourTable
WHERE SUBSTRING_INDEX(col, ' ', -1) = (SELECT MAX(SUBSTRING_INDEX(col, ' ', -1))
                                       FROM yourTable);

假設只有一條記錄具有最大 ID,我們可以更簡單地使用LIMIT查詢:

SELECT *
FROM yourTable
ORDER BY SUBSTRING_INDEX(col, ' ', -1) DESC
LIMIT 1;

嘗試這個

select max(SUBSTRING_INDEX(col, ' ', -1)) from TableName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM