2011-07-09 50 views
2

我正在尋找一種從MySQL表中選擇單個行的方法。 其中一列包含十六進制值,我只想選擇包含最大十六進制值的行。選擇具有最大十六進制值的行

因此,舉例來說,有三排,如:

id hex_value comments 
1 01   some comments... 
2 1A   some comments... 
3 03   some comments... 

所以最終返回的行內容將ID 2的值1A是最大的。

如果有人能指出我在正確的方向,它將不勝感激。

謝謝 馬克

+1

「hex_value」列的類型是什麼? – Michas

回答

0

只要十六進制字符串的長度相同(如你的例子),它們具有相近作爲字符串,因此您可以對它們進行排序:

select id, hex_value, comments 
from TheTable 
order by hex_value desc 
limit 1 

注意:排序時需要使用desc以獲得最高值。

1
SELECT ... ORDER BY UNHEX(hex_value) desc LIMIT 1 

應該工作

+0

這變得非常接近,謝謝 – MarkJWiggins

+0

這不會返回一行,它只會將最後一行放在結果中。 – Guffa