SQL聚合与排序

本文详细介绍了SQL中的聚合查询,包括使用聚合函数如COUNT()、DISTINCT进行数据汇总,GROUP BY子句进行分组,以及HAVING子句对聚合结果设定条件。同时,讲解了ORDER BY子句对查询结果进行排序的方法,强调了各子句的书写顺序及使用注意事项。
摘要由CSDN通过智能技术生成

1 对表进行聚合查询

  1. 使用聚合函数对表中的列进行计算合计值或者平均值等汇总操作
  2. 聚合函数会对NULL以外的对象进行汇总,只有CUNT()函数例外,使用COUNT(*)可以查找包含NULL在内的全部数据的行数.
  3. 使用DISTINCT 删除重复值
1.1 聚合函数中上映distinct,DISTINCT必须写在括号中,因为必须要在计算之前删除product_type列中的重复数据
SELECT COUNT(DISTINCT product_type)
FROM product;

2 对表进行分组 GROUP BY

GROUP BY 位置有严格的要求,必须写在FROM 和WHERE 之后
按照商品的种类统计数量
SELECT product_type, COUNT(*)
FROM product
GROUP BY product_type;
聚合键中包含NULL时,在结果中会以不确定(空行)的形式表现出来
常见错误1: 使用GROUP BY子句时,SELECT 子句不能出现聚合键之外的列名

在使用COUNT这样的聚合函数时,SELECT子句中的元素有严格的限制,实际上,使用聚合函数时,SELECT子句中只能存在以下三种元素:常数, 聚合函数, GROUP BY 子句中指定的列名.下面这个错误就是把聚合建之外的列名写在了SELECT 子句中

SELECT product_name, purchase_price, COUNT(*)
FROM Pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值