我想获取表格的最后一行。为此我已经习惯了下面的查询,但它返回99我的表中包含大约123和最后的pro_id = 123.正确的结果应该是123.
请以正确的方式建议我:
SELECT * FROM product ORDER BY pro_id DESC LIMIT 1
答案 0 :(得分:1)
我认为问题在于你的pro_id是字符,它将按字母顺序排序。您可以尝试将其转换为数字。
SELECT * FROM product ORDER BY CAST(pro_id AS UNSIGNED) DESC LIMIT 1
答案 1 :(得分:1)
这很可能是因为您的pro_id
列定义为文字。
您可以通过
SELECT * FROM product ORDER BY CONVERT(pro_id, UNSIGNED INTEGER) DESC LIMIT 1
答案 2 :(得分:0)
此查询将显示真正的desc结果:
select pro_id from
(SELECT cast(replace(pro_id,' ','') as UNSIGNED) as pro_id from product) as a
ORDER BY pro_id desc limit 1