select playing_time from video order by playing_time desc;
playing_time
的列类型为varchar(25)
样本数据
01:05:22
21:08
07:52
04:31
查询不起作用它不按最高时间排序 我怎么能解决这个问题?
答案 0 :(得分:2)
您可以尝试:
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
答案 1 :(得分:1)
我会更改用于存储从varchar
到unsigned int
的持续时间的列类型,并以秒为单位保持长度。通过这种方式,您可以准确地知道存储的内容。现在,你必须区别对待你所拥有的(至少)2种格式:(21:08和01:05:22)