У меня есть идентификатор таблицы и столбца, а значения – 1, 2, 3, …, 10,11,12,13. как запросить get max id из типа varchar? я попробовал
select MAX(id) from table
но результат 9, пожалуйста, помогите ??
Похоже, что значения представляют собой строки и выбирают максимальную строку. Сначала вы должны перенести их на номера, если хотите, чтобы они сортировались численно. Вы можете использовать CONVERT для этого:
SELECT MAX(CONVERT(id, SIGNED)) FROM table
Вы также можете использовать CAST :
SELECT MAX(CAST(id AS SIGNED)) FROM table
Они делают почти то же самое, за исключением того, что у CONVERT
есть дополнительные опции, если они вам понадобятся.
Вы можете наложить varchar на целое число – что-то вроде
SELECT MAX(CONVERT(id, SIGNED)) FROM table
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_convert
Таблица SELECT MAX(id+0) FROM
сделает трюк