美文网首页
第三章 聚合与排序

第三章 聚合与排序

作者: Curi | 来源:发表于2019-03-01 17:47 被阅读0次

-- 第三章:聚合与排序
-- 3-1
SELECT COUNT()
FROM Product;
-- 3-1
SELECT COUNT(purchase_price)
FROM Product;
-- 将包含NULL的列作为参数时,COUNT(
)和COUNT(<列名>)的结果并不相同 整表()时是具体行数,而单独列的时候是null带来的0
-- 其他聚合函数同理,会把NULL排除在外,但是COUNT(
)除外,并不会排除NULL
SELECT SUM(sale_price), AVG(sale_price), MAX(regist_date), MIN(regist_date)
FROM Product;
-- PS:MAX/MIN适用于所有数据类型的列,SUM/AVG函数只适用于数值类型的列
-- 使用聚合函数删除重复值DISTINCT
SELECT COUNT(DISTINCT product_type)
FROM Product;

-- 3-2对表进行分组
-- GROUP BY子句,就相当于在第一列对后面所有数据进行了分组,以及注意顺序,group by在where后面/NULL会单独作为一类分类
SELECT purchase_price, COUNT(*)
FROM product
WHERE product_type = '衣服'
GROUP BY purchase_price;

-- 易错情况,把除了聚合列也就是group by的列之外的列也放在,select里面,这样select就不知道改如何选取了,不然就在聚合函数内使用,不然就是常数
-- 易错情况2,也不能使用别名,也就是as在select语句中,在group by的情况下
-- 易错情况3,group BY的结果是随机的,不能排序;在where子句中不能使用聚合函数
-- 只有SELECT//HABING//ORDER BY//能够使用聚合函数
-- 想要删除选择结果中的重复数据时,用DISTINCT//想要计算汇总重复结果的值的时候用group BY

-- 3-3为聚合结果指定条件
-- HAVING必须在group by后面
SELECT product_type, AVG(purchase_price)
FROM Product
GROUP BY product_type
Having AVG(sale_price) > 2500;
-- 聚合键所对应的条件写在where中比having中更好,具有更加明确的限定意义,类似于副词形容聚合键,而后面都是挑选范围,针对后续数据的内容用having

-- 3-4对查询结果进行排序
-- ORDER BY写在最后//ASC表示升序 sql默认升序//DESC表示降序//可以一列升序,剩下的降序//排序的时候 先写的先排//允许使用as的别名,而不是as本身
SELECT product_id, product_name, sale_price, purchase_price
FROM Product
ORDER BY purchase_price, sale_price;
-- 记住select的执行顺序是group by之后,order by之前//可以使用聚合函数//count(*)
-- 可以用列的编号在order by里面使用,如 ORDER BY 3 DESC表示对第三列降序排列,但是不建议使用,因为一次性无法保存,读起来不知所云

-- 练习题
-- 3.1 顺序不对
-- 3.2 ???
SELECT product_type, SUM(sale_price), SUM(purchase_price)
FROM Product
GROUP BY product_type
HAVING SUM(sale_price) >= SUM(purchase_price) * 1.5;
-- 3.3
SELECT *
FROM Product
ORDER BY regist_date DESC, sale_price;

相关文章

  • MICK-SQL基础教程(第二版)第三章 聚合与排序

    第三章 聚合与排序 对表进行聚合查询 聚合函数 所谓聚合,就是将多行汇总为一行。实际上,所有的聚合函数都是这样,输...

  • 第三章 聚合与排序

    -- 第三章:聚合与排序-- 3-1SELECT COUNT()FROM Product;-- 3-1SELECT...

  • 排序与聚合函数

    排序 ORDER BY SELECT <*, column [alias], ...>FROM table [WH...

  • 04 - 聚合与排序

    聚合函数 聚合函数 通过 SQL 对数据进行某种操作或计算时需要使用函数。用于汇总的函数称为聚合函数或者聚集函数聚...

  • 开窗函数

    over在聚合函数中的使用:一般格式:聚合函数名(列) over(选项)over必须与聚合函数或排序函数一起使用...

  • DQL查询以及DCL(Data control Language

    排序 排序的时候使用order by 升序:asc 降序:desc 聚合函数 聚合函数作用count统计个数max...

  • 《SQL基础教程》学习笔记Ch3

    3聚合与排序 3-1对表进行聚合查询 聚合函数 COUNT:计算表中的记录数(行数)SUM:计算表中数值列中数据的...

  • 数据库查询语句

    条件与逻辑查询 模糊查询 范围查询 排序 聚合函数 分组 连接查询 分页 子查询

  • 【SQL.基础构建-第三节(3/4)】

    -- Tips:聚合和排序 -- 一、对表进行聚合查询 --1.聚合函数 --(1)5 个常用函数: --①CO...

  • 集合

    过滤、排序 聚合 分组 List转Map

网友评论

      本文标题:第三章 聚合与排序

      本文链接:https://www.haomeiwen.com/subject/ndgduqtx.html