select playing_time from video order by playing_time desc;
Тип столбца playing_time равен varchar(25) Пример данных
playing_time
varchar(25)
01:05:22 21:08 07:52 04:31
Запрос не работает, он не упорядочивается по наибольшему времени как я могу решить эту проблему?
Вы можете попробовать:
SELECT playing_time FROM video ORDER BY str_to_date(playing_time,'%k:%s') DESC
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
Я бы пошел для изменения типа столбца, используемого для хранения длительности с varchar до unsigned int и держал бы длину в секундах.Таким образом, вы точно знаете, что вы там хранили.Прямо сейчас вы должны по-разному относиться к (по крайней мере) 2 форматам, которые у вас есть: (21:08 и 01:05:22)
varchar
unsigned int