我正在寻找一种从MySQL表中选择单行的方法。 其中一列包含十六进制值,我只想选择包含最大十六进制值的行。
因此,例如有三行,如:
id hex_value comments
1 01 some comments...
2 1A some comments...
3 03 some comments...
因此,结果返回的行内容将是id 2,因为值1A是最大的。
如果有人能指出我正确的方向,那将是非常感激的。
谢谢 标记
答案 0 :(得分:1)
SELECT ... ORDER BY UNHEX(hex_value) desc LIMIT 1
应该有效
答案 1 :(得分:1)
select ...
order by CONV(hex_value,16,10)
limit 1
请参阅http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_conv
答案 2 :(得分:0)
只要十六进制字符串的长度相同(如示例所示),它们就可以作为字符串进行比较,因此您可以对它们进行排序:
select id, hex_value, comments
from TheTable
order by hex_value desc
limit 1
注意:排序时需要使用desc
才能获得最高值。