今天小編給大家分享一下MySQL排序與分頁的方法是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創新互聯建站業務包括:成品網站、企業產品展示型網站建設、成都品牌網站建設、電子商務型網站建設、外貿網站制作(多語言)、成都商城網站開發、定制制作、營銷型網站建設等。效率優先,品質保證,用心服務是我們的核心價值觀,我們將繼續以良好的信譽為基礎,秉承穩固與發展、求實與創新的精神,為客戶提供更全面、更優質的互聯網服務!
排序規則
ASC(ascend): 升序 DESC(descend):降序 ORDER BY 子句在SELECT語句的結尾
代碼案例
# 按照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;
分頁規則
# 顯示第幾條到第幾條 LIMIT [位置偏移量,] 行數 # 顯示第幾頁的所有 分頁顯式公式:(當前頁數-1)*每頁條數,每頁條數
代碼案例
# 每頁顯示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 位置偏移量,條目數 # 結構"LIMIT 0,條目數" 等價于 "LIMIT 條目數" SELECT employee_id, last_name, salary FROM employees WHERE salary > 6000 ORDER BY salary DESC #limit 0, 10; # 寫法1 LIMIT 10; # 表里有107條數據,我們只想要顯示第 32、33 條數據 SELECT employee_id, last_name FROM employees LIMIT 31, 2; # MySQL8.0新特性:LIMIT ... OFFSET ... # 表里有107條數據,我們只想要顯示第 32、33 條數據 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;
課后練習
# 查詢員工的姓名和部門號和年薪,按年薪降序,按姓名升序顯示 SELECT last_name, department_id, salary * 12 annual_salary FROM employees ORDER BY annual_salary DESC, last_name ASC; # 選擇工資不在 8000 到 17000 的員工的姓名和工資,按工資降序,顯示第21到40位置的數據 SELECT last_name, salary FROM employees WHERE salary NOT BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20, 20; # 查詢郵箱中包含 e 的員工信息,并先按郵箱的字節數降序,再按部門號升序 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排序與分頁的方法是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創新互聯行業資訊頻道。
分享題目:mysql排序與分頁的方法是什么
瀏覽地址:http://www.hntjjpw.com/article30/joihso.html
成都網站建設公司_創新互聯,為您提供定制開發、網站改版、企業建站、自適應網站、云服務器、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯