返回列表 上一主題 發帖

8-2-3 Order By 排序

8-2-3 Order By 排序

8-2-3   Order By 排序雖然使用Where條件式可以依我們的條件定義來選取我們需要的資料,但是我們所得的資料錄順序是沒有特定規則的,例如,我希望同學的成績是按照數學分數的高低來條列(由最低分數排到最高分數),那該如何下指令?
首先,先完成您所需的欄位資料SQL句子,如果想獲得的全部欄位資料,我們就這樣寫:
  1. Select *  From  transcript
複製代碼
這樣就會取出所有資料表欄位的資料,可是我希望同學的成績資料是依照數學分數的高低來排列ㄚ,那我們就加上排序指令「Order By」,在「Select …Form…」後面再加上我們的條件「Order By 數學」:
  1. Select *  From  transcript Order By 英文
複製代碼
使用上列的SQL句子向資料庫下命令,即可獲得下圖的結果:(範例ex08_16.php)

圖8-19 依英文學分數排序。
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

排序指令「Order By」,並不是只能依據單一的欄位排序,我們也可以同時指定多個欄位為排序依據:
  1. Select *  From  transcript  Order By 國文, 英文 ,數學
複製代碼
上式排序的結果,將會是先依「國文」欄位排序,然後再按照「英文」欄位排序,最後才會依照「數學」欄位排序:(範例ex08_17.php)

圖8-20  依「數學」、「國文」、「英文」欄位順序排序。
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

8-2-3-1   Desc 逆向排序
使用排序指令「Order By」來排序時,所得的結果是「從小排到大」,如果我們要「從大排到小」,則可在排序欄位名稱的後面再加上「Desc」指令,例如,依「數學」欄位排序,但是要從分數高的排到分數低的:
  1. Select *  From  transcript Order By 數學 Desc
複製代碼
使用上列的SQL句子向資料庫下命令,即可獲得下圖的結果:(範例ex08_18.php)

圖8-21  依數學分數「從大到小」排序。
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題