MYSQL結果排序、分頁查詢、聚合函數


 

結果排序

使用ORDER BY子句將查詢記錄進行排序,
ASC   : 升序,缺省。
DESC : 降序。
ORDER BY 子句出現在SELECT語句的最后。
格式:
SELECT <selectList> 
FROM table_name
WHERE 條件
ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;
-------------------------------------------------------
按單列排序:
需求:選擇id,貨品名稱,分類編號,零售價並且按零售價降序排序
按多列排序:
需求: 選擇id,貨品名稱,分類編號,零售價先按分類編號排序,再按零售價排序
------------------------------------------------------
需求:查詢M系列並按照批發價排序(加上別名)
需求:查詢分類為2並按照批發價排序(加上別名)

注意:不能使用中文的別名排序。
--------------------------------------------------------------------------
SELECT語句執行順序:
先執行FROM--->接着執行WHERE--->再執行SELECT--->最后執行ORDER BY

  

分頁查詢

 

假分頁/邏輯分頁/內存分頁:
            一次性查詢出所有的數據,存放在內存中(List集合),每次翻頁的時候,都從內存中取出指定的條數.
            特點:翻頁比較快,如果數據量過大,可能造成內存溢出.
真分頁/物理分頁/數據庫分頁(推薦):
            每次翻頁都從數據庫中截取指定的條數,假設每頁10條數據,第一頁:查詢0~9條數據,第二頁:查詢10~19條數據.
            特點:翻頁比較慢,不會造成內存溢出.
---------------------------------------------------------------------------------------------------------
MySQL的分頁設計:
             int pageSize = 3;//表示每頁最多顯示3條數據.
分頁查詢結果集的SQL:
       SELECT * FROM  表名    LIMIT  ?,?;
       第一個?:(currentPage - 1) * pageSize;
       第二個?:pageSize
第一頁:SELECT * FROM `product` LIMIT 0, 3
第二頁:SELECT * FROM `product` LIMIT 3, 3
第三頁:SELECT * FROM `product` LIMIT 6, 3

 

 

聚合函數

 

什么是聚集函數:
聚集函數作用於一組數據,並對一組數據返回一個值。
-------------------------------------------------------
COUNT:統計結果記錄數  
MAX:  統計計算最大值
MIN:  統計計算最小值
SUM:  統計計算求和
AVG:  統計計算平均值
-------------------------------------------------------
需求:查詢所有商品平均零售價
需求:查詢商品總記錄數(注意在Java中必須使用long接收)
需求:查詢分類為2的商品總數
需求:查詢商品的最小零售價,最高零售價,以及所有商品零售價總和

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM