[新手30天學SQL]第十七日-大到小小到大的資料排序

文章推薦指數: 80 %
投票人數:10人

預設是從小到大(ASC)排序的。

語法. 選取資料; ORDER BY; 欄位(排順序用的); DESC或ASC (沒寫的話就是ASC). Skiptocontent 當我們撈到資料時, 往往會希望能將資料照某個欄位由大到小或是由小到大排序, 例如說班級通訊錄會照座號由小到大排序, 或是商業銷售報表會希望照銷售總額由大到小排序, 這時候就需要ORDERBY。

ORDERBY是排序語法, 一般會寫在句尾, 也就是當我們跟資料庫說「撈出性別是男生的資料」, 資料庫就會去撈, 撈完以後,我們再說「照座號排序」。

也就是: 先撈資料再排序, 畢竟沒撈出東西,哪來的資料排序? 對ORDERBY而言,預設是由小到大排序 如果有由大到小排序的需求, 或是想將語法寫得比較清楚,標示出由小到大, 就需要下面兩個語法 ASC由小到大排序 DESC由大到小排序 基本排序 orderby通常會放在句尾, 也就是將資料選出後,才會進行排序, orderby如果後面沒有特別寫DESC的話, 預設是從小到大(ASC)排序的。

語法 選取資料 ORDERBY 欄位(排順序用的) DESC或ASC(沒寫的話就是ASC) SELECT*FROMEducation.studentWHEREgender="F"ORDERBYstart_date; SELECT*FROMEducation.studentORDERBYstart_dateDESC; 複合排序 ORDERBY可以用兩個欄位排序, 例如說國中月考,會說依照總分排名, 同分的話,就比作文成績, 這就是ORDERBY 總分,作文成績。

下面語法就是先照class排順序,再照開始日期排序。

SELECT*FROMEducation.studentORDERBYclass,start_date; 可以加DESC 複合排序一樣可以加上DESC, 下面語法是先照class欄位由小到大排, 同class再照start_date從大到小排序。

SELECT*FROMEducation.studentORDERBYclass,start_dateDESC; 不同的變數,ASC和DESC是分開寫的 從剛剛的粒子可以看到我們加了DESC, 但只作用在start_date上, 因為不同的變數ASC和DESC是分開寫的, 所以每個ORDERBY後面的欄位都可以加上ASC或是DESC, 如果沒有加的話,一樣預設是由小到大。

下面語法是先照class欄位由大到小排, 同class再照start_date從大到小排序。

SELECT*FROMEducation.studentORDERBYclassDESC,start_dateDESC; ORDERBY搭上LIMIT ORDERBY可以搭上昨天寫的LIMIT, 先排序,再指定要選幾行。

例如說選出所有的學生, 照class由大到小排序, 再用LIMIT選出排序後的第五個人後的一個人, 也就是排序後的第六個人。

SELECT*FROMEducation.studentORDERBYclassDESC,start_dateDESCLIMIT1OFFSET5; Postnavigation ←PreviousPostNextPost→ Cinna 重度網路使用者。

喜歡探索不同領域,喜歡文字與閱讀。

閱讀、旅行、學習,用文字分享生活。

Searchfor: Search RecentPosts [GO]ProjectLayoutIntroduction [JS]DifferencebetweenStringandArray [MarkDown]MarkDown常用語法+HTMLCOMBO Categories BuildAWebsite(3) Devope(14) Go(1) LeetCode(1) ProblemSolving(9) Software(4) SQL(4) Uncategorized(2) YouDon'tKnowJS(4) 作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學(30)



請為這篇文章評分?