同じテーブルの異なるフィールドを昇順蒋順の操作sqlでソートする誤り

1095 ワード

一般初心者の誤解:
select * from student order by createtime, updatetime DESC;
指定されたすべてのフィールドは、最後のフィールドでソートされます.
実際:
mysqlのデフォルトはソートされず、入力された順に並べ替えられます.(つまりID昇順)
select * from student order by createtime, updatetime; --createtime  ,updatetime   
 
select * from student order by createtime, updatetime DESC; -- createtime  ,updatetime  

select * from student order by createtime DESC, updatetime ; -- createtime  ,updatetime  

select * from student order by createtime DESC, updatetime DESC; -- createtime  ,updatetime   
 
 其实数据库是这么理解的 
  
  
 
order by createtime [AES], updatetime [AES]; --createtime  ,updatetime   
 
order by createtime [AES], updatetime DESC; -- createtime  ,updatetime   
 
order by createtime DESC, updatetime [AES]; -- createtime  ,updatetime    
 
order by createtime DESC, updatetime DESC; -- createtime  ,updatetime   

括弧の中は私たちが省略したキーワードです.
詳細:http://www.w3school.com.cn/sql/sql_orderby.aspクリックしてリンクを開く