![](/img/trans.png)
[英]How to generate the highest number from one column in mysql database with php
[英]Select highest number from a MySQL Database column with 0 padding?
我需要從MySQL數據庫列中選擇最高數字,如果需要,可以在前面填充0。
數字從000001
開始,隨着記錄集的增長,數字越來越高。
現在我們有大約14個xxx記錄,當我運行這個SQL時......
SELECT MAX( designnumber_c )
FROM d1_designs_cstm
LIMIT 1
結果是值為009999
的記錄,因此下一個數字和向上數字不會被識別為最高數字。
如何確保返回最高值? 如果重要的話,該列不是INT
,而是在我擁有它之前使用VARCHAR
。
請幫忙?
你先嘗試打字嗎?
SELECT MAX(強制轉換(designnumber_c為無符號))來自d1_designs_cstm LIMIT 1
我只是做了一個快速測試和演員('009999'作為無符號)返回9999的數字表示,所以我認為它應該工作。
臨時解決方案:您可以在DESCENDING中訂購結果,只選擇一行。 這可以通過以下方式完成:
SELECT designnumber_c FROM d1_designs_cstm
ORDER BY CAST(`designnumber_c` AS SIGNED) DESC LIMIT 1
但是通過將designnumber_c
數據類型designnumber_c
為Integer可以更好地解決問題。
SELECT MAX( changed_to_int )
FROM(
SELECT CAST(designnumber_c AS UNSIGNED) as changed_to_int
FROM d1_designs_cstm
) as t
不確定這會有多高效,但應該做到這一點
這個頁面可能會有所幫助。 特別是如果你總是有6位數字。 從添加了前綴的MYSQL表中選擇最大數字
這確實有效,同時保留前導零。 SQL小提琴
SELECT RIGHT(MAX(designnumber_c), 6) max_val
FROM d1_designs_cstm
LIMIT 1
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.