結果排序
使用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的商品總數 需求:查詢商品的最小零售價,最高零售價,以及所有商品零售價總和