group by
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。
在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数
select max(sal),job emp group by job;
(注意max(sal), job 的job并非一定要出现,但有意义 )
查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。
select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;
当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
查询每个部门的每种职位的雇员数
select deptno,job,count(*) from emp group by deptno,job;
如果你对何时应该使用WHERE,何时使用HAVING仍旧很迷惑,请遵照下面的说明:
WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。
HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。
分享到:
相关推荐
sql中where和havingsql中where和having区别
sql语言 where和having区别
主要介绍了数据库SQL中having和where的用法区别的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
何时使用having where,请遵照下面的说明:WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。
给大家详细的介绍了SQL中Having与Where的区别,以及这两者的注意事项,文中还分享了Having与Where的示例代码,相信对大家的理解和学习很有帮助,感兴趣的朋友们可以参考借鉴,有需要的朋友们可以一起学习学习。
数据库之where与having
“Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”; “Having”是一个过滤声明,所谓过滤是在查询数据库的结果返回...
主要给大家介绍了关于SQL中where子句与having子句的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了sql中的 where 、group by 和 having 用法解析,需要的朋友可以参考下
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句... (注意max(sal),job的job并非一定要出现,但有意义) 查询语句的select和groupby,having
SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between SQL Aliases SQL Join SQL Inner Join SQL Left Join SQL Right ...
T-SQL中where子句与having子句的对比分析.pdf
在同一查询中使用 HAVING 子句和 WHERE 子句 在某些情况下,在对作为一个整体的组应用条件之前(使用 HAVING 子句),可能需要从组中排除个别的行(使用 WHERE 子句)。
详析SQL语言的WHERE子句与HAVING子句.pdf
主要介绍了在oracle中where 子句和having子句中的区别,本文通过sql语句给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
当同时出现了where_group_by_having_order_by的时候_执行顺序和编写顺序时的用法