@ptime := null ,@rank:=0) a) aorder by rank desc ,time desc---方法2select * from tablename order by (case when DATE_FORMAT(time ,'%k')=0 then 24 when DATE_FORMAT(time ,'%k')*1>=DATE_FORMAT(now(),'%k')*1 then DATE_FORMAT(time ,'%k') else 25 end) ...
mysql 时间排序问题
-------------------------------------------方法1select * from (selecttablename_tmp.*,@rownum:=@rownum+1 ,if(time >=DATE_FORMAT(now(),'%Y-%m-%d %H:00') ,@rank:=@rank+1,@rank:=0) as rankfrom (select * from tablename order by time desc)tablename_tmp ,(select @rownum :=0 , @ptime := null ,@rank:=0) a) aorder by rank desc ,time desc---------------------------------------方法2select * from tablename order by (case when DATE_FORMAT(time ,'%k')=0 then 24 when DATE_FORMAT(time ,'%k')*1>=DATE_FORMAT(now(),'%k')*1 then DATE_FORMAT(time ,'%k') else 25 end) ,time desc题主测试一下?你这里的24点应该是第二天的00:00:00 。你这样排有什么用处?
2013-09-09
select name, time from 表名 order by 时间 asc; //按照时间戳升序排序,如果要降序的话就"order by 时间 desc"2013-09-09
如果你的time是时间戳的话直接order by time dec2013-09-09