数据库sql忽略遗忘的知识之having,groupby用法

源于这道题

用法:

SELECT salesperson, SUM(amount) AS total_sales FROM sales GROUP BY salesperson HAVING total_sales > 1000;

 这个语句先按照salesperson字段进行分组,并使用SUM函数计算每个销售人员的总销售金额,然后使用HAVING过滤掉总销售金额小于等于1000的分组,最后返回销售人员和总销售金额。

HAVING是SQL中用于筛选聚合函数结果的关键字,它通常与GROUP BY一起使用。HAVING可以在GROUP BY子句之后使用,用于过滤分组后的聚合数据,只返回符合条件的数据。与WHERE不同,HAVING可以使用聚合函数,因为它是在分组之后进行的筛选。

distinct用法:

select distinct column1,column2 from table

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQL Group By 语句是用来根据一定的规则将一个数据集划分成若干个小的区域,然后针对这些小区域进行数据处理的。通过 Group By 子句可以对结果集的数据进行分组,并且可以结合聚合函数使用,如求平均值、求和等。而 Having 子句则是在 Group By 子句之后使用的,用于筛选分组后的结果集的数据。 具体的使用方法如下: 1. Group By 语句的用法:在 SQL 查询语句,通过 Group By 子句后面跟上需要分组的列名,可以按照这些列的值进行分组。例如,可以使用以下语句对表的数据按照某个字段进行分组: SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name; 2. Having 语句的用法:在 Group By 语句之后使用 Having 子句可以对分组后的结果进行筛选,只输出满足条件的分组结果。例如,可以使用以下语句查找平均成绩大于某个值的学生: SELECT sno, AVG(grade) FROM sc GROUP BY sno HAVING AVG(grade) > 80; 需要注意的是,Where 子句和 Having 子句的作用对象不同。Where 子句作用于表和视图,用于在分组和聚集计算之前选取输入行;而 Having 子句作用于分组结果,用于在分组和聚集之后选取满足条件的分组行。因此,Where 子句不能包含聚合函数,而 Having 子句总是包含聚合函数。 综上所述,Group By 语句用于对数据进行分组处理,Having 子句用于筛选分组结果。通过组合使用 Group By 和 Having 子句,可以实现对分组后的数据进行更精细的筛选和汇总。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值