排序和分頁(order by、limit)

電商中:我們想查看今天所有成交的訂單值纱,按照交易額從高到低排序,此時我們可以使用數(shù)據(jù)庫中的排序坯汤。

排序語法:

select 字段名 from 表名 order by 字段1 [asc|desc], 字段2 [asc|desc]虐唠;

需要排序的字段跟在order by之后;

asc|desc 表示排序的規(guī)則惰聂,asc:升序 desc:降序 默認(rèn)為升序asc疆偿;

支持多個字段進(jìn)行排序,多字段排序之間用逗號隔開

單字段排序:

select * from test2 order by a asc;

select * from test2 order by a desc;

多字段排序:

比如學(xué)生表搓幌,先按學(xué)生年齡降序翁脆,年齡相同時,再按學(xué)號升序鼻种,eg:

image.png

mysql>select * from stu order by age desc, id asc;

image.png

按別名排序:

mysql> select age '年齡', id as '學(xué)號' from stu order by 年齡 asc, 學(xué)號 desc;

image.png

按函數(shù)排序:

有學(xué)生表(id:編號, birth:出生日期反番,name:姓名)

image.png

需求:

按照出生年份升序,編號升序叉钥,查詢出編號罢缸,出生日期,出生年份投队,姓名枫疆,2種寫法:

mysql> select id '編號', birth '出生日期', year(birth) '出生年份', name as '姓名' from student order by year(birth), id ;

image.png

mysql> select id '編號', birth '出生日期', year(birth) '出生年份', name as '姓名' from student order by 出生年份, 編號 ;

image.png

說明:

year函數(shù),屬于日期函數(shù)敷鸦,可以獲取對應(yīng)日期種的年份

where之后進(jìn)行排序

有訂單數(shù)據(jù)如下:

image.png

需求:

查詢訂單金額>=100的息楔,按照訂單金額降序排序,顯示2列數(shù)據(jù)扒披,列頭:訂單編號值依、訂單金額:

mysql> select id '訂單編號', price as '訂單金額' from t_order where price>=100 order by price desc;

image.png

limit介紹

limit用來限制select查詢返回的行數(shù),常用于分頁等操作碟案。

語法:

select 列 from 表 limit [offset,] count;

說明:

offset:表示偏移量愿险,通俗點講就是跳過多少行,offset可以省略价说,默認(rèn)為0辆亏,表示跳過0行风秤,范圍:0到正無窮

count:跳過offset行之后開始取數(shù)據(jù),取count行記錄扮叨,范圍:0到正無窮

獲取前n行記錄:

select 列 from 表 limit 0,n;

或者

select 列 from 表 limit n;

image.png

eg:獲取訂單的前2條記錄

mysql> select * from t_order limit 2;

image.png

獲取最大的一條記錄

我們需要獲取訂單金額最大的一條記錄缤弦,可以這么做:先按照金額降序,然后取第一條記錄

mysql> select id '訂單編號', price as '訂單金額' from t_order order by price desc limit 1;

image.png

獲取排名n到m的記錄

語法:需要先跳過n-1條記錄彻磁,然后取m-m+1條記錄

select 列 from 表 limit n-1,m-n+1碍沐;

eg:獲取訂單金額最高的3到5的記錄

先跳過2條,取3條記錄

image.png

分頁查詢

分頁經(jīng)常使用兵迅,一般2個參數(shù):

page: 表示第幾頁抢韭,從1開始,范圍1到正無窮

pageSize:每頁顯示多少條記錄恍箭,范圍1到正無窮

如:page=2刻恭,pageSize=10,表示獲取第2頁10條數(shù)據(jù)

使用limit實現(xiàn)分頁扯夭,語法:

select 列 from 表名 limit (page - 1) * pageSize,pageSize;

需求:我們按照訂單金額降序鳍贾,每頁顯示2條,依次獲取所有訂單數(shù)據(jù)交洗、第1頁骑科,第2頁、第3頁數(shù)據(jù)构拳,如下:

image.png

第一頁:

image.png

第二頁:

image.png

第四頁:

image.png

***避免踩坑

limit中不能使用表達(dá)式

image.png

limit后面的2個數(shù)字不能為負(fù)數(shù)

image.png

排序分頁存在的坑:

***當(dāng)排序中存在相同的值時咆爽,需要再指定一個排序規(guī)則

總結(jié)

  • order by…[asc|desc]用于對查詢結(jié)果排序,asc:升序置森,desc:降序斗埂,默認(rèn)為升序

  • limit 用來限制查詢結(jié)果返回的行數(shù),有2個參數(shù)(offset,cont)offset:表示跳過多少行凫海,count:表示跳過offset行之后取count行

  • limit中的offset可以省略呛凶,默認(rèn)值為0

  • limit中offset和count都必須大于等于0

  • limit中offset和count的值不能用表達(dá)式

  • 分頁排序時,排序不要有二義性行贪,二義性情況下可能導(dǎo)致分頁結(jié)果亂序漾稀,可以在后面追加一個主鍵排序,比如有相同值的情況下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末建瘫,一起剝皮案震驚了整個濱河市崭捍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暖混,老刑警劉巖缕贡,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拣播,居然都是意外死亡晾咪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門贮配,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谍倦,“玉大人,你說我怎么就攤上這事泪勒≈缰” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵圆存,是天一觀的道長叼旋。 經(jīng)常有香客問我,道長沦辙,這世上最難降的妖魔是什么夫植? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮油讯,結(jié)果婚禮上详民,老公的妹妹穿的比我還像新娘。我一直安慰自己陌兑,他們只是感情好沈跨,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兔综,像睡著了一般饿凛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上软驰,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天涧窒,我揣著相機與錄音,去河邊找鬼碌宴。 笑死杀狡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贰镣。 我是一名探鬼主播呜象,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碑隆!你這毒婦竟也來了恭陡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤上煤,失蹤者是張志新(化名)和其女友劉穎休玩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡拴疤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年永部,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呐矾。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡苔埋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜒犯,到底是詐尸還是另有隱情组橄,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布罚随,位于F島的核電站玉工,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏淘菩。R本人自食惡果不足惜遵班,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瞄勾。 院中可真熱鬧费奸,春花似錦、人聲如沸进陡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趾疚。三九已至缨历,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糙麦,已是汗流浹背辛孵。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赡磅,地道東北人魄缚。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像焚廊,于是被迫代替她去往敵國和親冶匹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容