今天小編給大家分享一下MySQL排序與分頁的方法是什么的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)建站業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、電子商務(wù)型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站制作(多語言)、成都商城網(wǎng)站開發(fā)、定制制作、營銷型網(wǎng)站建設(shè)等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價值觀,我們將繼續(xù)以良好的信譽為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實與創(chuàng)新的精神,為客戶提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!
排序規(guī)則
ASC(ascend): 升序 DESC(descend):降序 ORDER BY 子句在SELECT語句的結(jié)尾
代碼案例
# 按照salary從高到低的順序顯示員工信息 SELECT employee_id, last_name, salary FROM employees ORDER BY salary DESC; # 按照salary從低到高的順序顯示員工信息 SELECT employee_id, last_name, salary FROM employees ORDER BY salary ASC; # 如果在ORDER BY 后沒有顯式指名排序的方式的話,則默認按照升序排列 SELECT employee_id, last_name, salary FROM employees ORDER BY salary; # 使用列的別名,進行排序 SELECT employee_id, salary, salary * 12 annual_sal FROM employees ORDER BY annual_sal; # 錯誤案例: # 列的別名只能在 ORDER BY 中使用,不能在WHERE中使用。如下方式會報錯 SELECT employee_id, salary, salary * 12 annual_sal FROM employees WHERE annual_sal > 81600; # WHERE 需要聲明在FROM后,ORDER BY之前 SELECT employee_id, salary FROM employees WHERE department_id IN (50,60,70) ORDER BY department_id DESC; # 二級排序:顯示員工信息,按照department_id的降序排列,salary的升序排列 SELECT employee_id, salary, department_id FROM employees ORDER BY department_id DESC, salary ASC;
分頁規(guī)則
# 顯示第幾條到第幾條 LIMIT [位置偏移量,] 行數(shù) # 顯示第幾頁的所有 分頁顯式公式:(當(dāng)前頁數(shù)-1)*每頁條數(shù),每頁條數(shù)
代碼案例
# 每頁顯示20條記錄,此時顯示第1頁 SELECT employee_id, last_name FROM employees LIMIT 0, 20; # 每頁顯示20條記錄,此時顯示第2頁 SELECT employee_id, last_name FROM employees LIMIT 20, 20; # 每頁顯示20條記錄,此時顯示第3頁 SELECT employee_id, last_name FROM employees LIMIT 40, 20; # 每頁顯示pageSize條記錄,此時顯示第pageNo頁: # 公式:LIMIT (pageNo-1) * pageSize,pageSize; # LIMIT的格式: 嚴格來說:LIMIT 位置偏移量,條目數(shù) # 結(jié)構(gòu)"LIMIT 0,條目數(shù)" 等價于 "LIMIT 條目數(shù)" SELECT employee_id, last_name, salary FROM employees WHERE salary > 6000 ORDER BY salary DESC #limit 0, 10; # 寫法1 LIMIT 10; # 表里有107條數(shù)據(jù),我們只想要顯示第 32、33 條數(shù)據(jù) SELECT employee_id, last_name FROM employees LIMIT 31, 2; # MySQL8.0新特性:LIMIT ... OFFSET ... # 表里有107條數(shù)據(jù),我們只想要顯示第 32、33 條數(shù)據(jù) SELECT employee_id, last_name FROM employees LIMIT 2 OFFSET 31; # 查詢員工表中工資最高的員工信息 SELECT employee_id, last_name, salary FROM employees ORDER BY salary DESC #limit 0, 1 LIMIT 1;
課后練習(xí)
# 查詢員工的姓名和部門號和年薪,按年薪降序,按姓名升序顯示 SELECT last_name, department_id, salary * 12 annual_salary FROM employees ORDER BY annual_salary DESC, last_name ASC; # 選擇工資不在 8000 到 17000 的員工的姓名和工資,按工資降序,顯示第21到40位置的數(shù)據(jù) SELECT last_name, salary FROM employees WHERE salary NOT BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20, 20; # 查詢郵箱中包含 e 的員工信息,并先按郵箱的字節(jié)數(shù)降序,再按部門號升序 SELECT employee_id, last_name, email, department_id FROM employees #where email like '%e%' # 寫法1 WHERE email REGEXP '[e]' ORDER BY LENGTH(email) DESC,department_id;
以上就是“mysql排序與分頁的方法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:mysql排序與分頁的方法是什么
瀏覽地址:http://www.chinadenli.net/article30/joihso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站改版、企業(yè)建站、自適應(yīng)網(wǎng)站、云服務(wù)器、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)