聚合函数和分组查询
2017-11-29 17:01
134 查看
常用的聚合函数
GROUP BY 子句
HAVING 子句
ORDER BY 字句
1: AVG(DISTINCT|ALL) ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值 SELECT AVG(SAL) FROM 表名; SELECT AVG(DISTINCT SAL) FROM 表名; 2: MAX(DISTINCT|ALL) 求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次 (加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数) SELECT MAX(DISTINCT SAL) FROM 表名; SELECT MAX(SAL) FROM 表名 3: MIN(DISTINCT|ALL) 求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次 SELECT MIN(SAL) FROM 表名; SELECT MIN(DISTINCT SAL) FROM 表名; 4: STDDEV(distinct|all) 求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差 SELECT STDDEV(SAL) FROM 表名; SELECT STDDEV(DISTINCT SAL) FROM 表名; 5: VARIANCE(DISTINCT|ALL) 求协方差 ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差 SELECT VARIANCE(SAL) FROM 表名; SELECT VARIANCE(DISTINCT SAL) FROM 表名; 6: SUM(DISTINCT|ALL) 求和 ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次) SELECT SUM(SAL) FROM 表名; SELECT SUM(DISTINCT SAL) FROM 表名; 7:COUNT(DISTINCT|ALL) 求记录、数据个数。 ALL对所有记录,数组做统计, DISTINCT只对不同值统计(相同值只取一次) SELECT COUNT(SAL) FROM 表名; SELECT COUNT(DISTINCT SAL) FROM 表名;
GROUP BY 子句
1. 出现在 SELECT 列表中的字段或者出现在 order by 后面的字段,如果不是包含在分组函数中,那么该字段必须同时在 GROUP BY 子句中出现 2. 包含在 GROUP BY 子句中的字段则不必须出现在 SELECT 列表中 可使用 where 字句限定查询条件 可使用 Order by 子句指定排序方式 3. 如果没有 GROUP BY 子句, SELECT 列表中不允许出现字段(单行函数)与分组函数混用的情况
HAVING 子句
select deptno, job, avg(sal) from emp where hiredate >= to_date('1981-05-01','yyyy-mm-dd') -- 先过滤emp里面的数据 再去分组 group by deptno,job -- where 之后进行分组 having avg(sal) > 1200 -- 分组之后再过滤 order by deptno,job; --最后select之后进行排序
ORDER BY 字句
select 字段1, 字段2, ....... from 表名 order by 字段1, 字段2 --先看 字段1的顺序,相同的 字段1 然后再看 字段2
相关文章推荐
- SQL语句聚合函数、分组、子查询及组合查询
- mysql分组查询聚合函数
- 聚合函数,分组查询,连接查询综合样例
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
- 聚合函数,分组查询,连接查询综合例子
- 今天学了SqlServer模糊查询、聚合函数 和分组查询
- 查询结果排序,多列排序,聚合函数,查询分组,筛选结果,select语句执行顺序
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
- Hibernate基本查询下篇:Hibernate聚合函数、分组查询及命名查询 5
- SQL语句学习(2)之基本查询、排序、聚合函数、分组查询
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
- MYSQL基础_聚合函数_分组和多表连接查询
- 【mysql】 mysql 子查询、联合查询、模糊查询、排序、聚合函数、分组----------语法
- SQL查询入门---聚合函数的使用和数据的分组
- 08--MySQL自学教程:DQL(数据库查询)字段控制查询、聚合函数、分组查询、limit(二)
- hibernate学习系列-----(5)hibernate基本查询下篇:hibernate聚合函数、分组查询及命名查询
- 使用聚合函数group by后面必须要带着所有要查询的列,但是我只想根据group by后面的第一个列进行分组,怎么办? [
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
- hibernate-聚合函数分组统计数据查询
- 4000 Hibernate-分组查询、聚合函数