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的商品总数
需求:查询商品的最小零售价,最高零售价,以及所有商品零售价总和

  

原文地址:https://www.cnblogs.com/Xingtxx/p/10801380.html