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