首先,order by是用來寫在where之后,給多個字段來排序的一個DQL查詢語句。
其次,order by寫法:
1. select 字段列表/* from 表名 where 條件 order by 字段名1 asc/desc, 字段名2 asc/desc,.......
2. select 字段列表/* from 表名 where 條件 order by 字段序號 asc/desc, 字段序號 asc/desc,....... (此時字段序號要從1開始)
3. select 字段列表/* from 表名 where 條件 order by 字段別名1 asc/desc, 字段別名2 asc/desc,.......(這里類似於第一種,無非就是把字段名加了個別名來代替而已。)
然后,order by的方式:
1.asc 升序,可以省略,是數據庫默認的排序方式
2.desc 降序,跟升序相反。
最后要注意order by的原則,寫在最前面的字段,他的優先級最高,也就是寫法中第一個的字段名1的優先級最高,優先執行他的內容。
下面舉個栗子吧!
這里我有幾個表



首先以sclass的降序查找student表中的記錄
寫法為:
select * from student t order by t.sclass desc;
輸出為:
可以看到是以sclass的降序排列的。
再來:以Cno升序、Degree降序查詢Score表的所有記錄。
寫法為:
select * from score s order by s.cno, s.degree desc;
輸出為:

可以看到是優先以cno的升序來排列的,在cno相同的里面再以degree的降序來排列的。
所以總結一下,order by的用法就是用來做排序,寫在where之后,簡單明了。
