当前位置:网站首页>多行函数;group_by分组;having分组后筛选;单表查询总结
多行函数;group_by分组;having分组后筛选;单表查询总结
2022-08-04 11:16:00 【parker_001】
对一组数据进行运算,针对一组数据(多行记录)只返回一个结果,也称分组函数

多行函数包含:

-- 多行函数:
select max(sal),min(sal),count(sal),sum(sal),sum(sal)/count(sal),avg(sal) from emp;
select * from emp;
-- 多行函数自动忽略null值
select max(comm),min(comm),count(comm),sum(comm),sum(comm)/count(comm),avg(comm) from emp;
-- max(),min(),count()针对所有类型 sum(),avg() 只针对数值型类型有效
select max(ename),min(ename),count(ename),sum(ename),avg(ename) from emp;
-- count --计数
-- 统计表的记录数:方式1:
select * from emp;
select count(ename) from emp;
select count(*) from emp;
-- 统计表的记录数:方式2
select 1 from dual;
select 1 from emp;
select count(1) from emp;
group_by分组
【1】group by : 用来进行分组
【2】sql展示:
select * from emp;
-- 统计各个部门的平均工资
select deptno,avg(sal) from emp; -- 字段和多行函数不可以同时使用
select deptno,avg(sal) from emp group by deptno; -- 字段和多行函数不可以同时使用,除非这个字段属于分组
select deptno,avg(sal) from emp group by deptno order by deptno desc;
-- 统计各个岗位的平均工资
select job,avg(sal) from emp group by job;
select job,lower(job),avg(sal) from emp group by job;
having分组后筛选
-- 统计各个部门的平均工资 ,只显示平均工资2000以上的 - 分组以后进行二次筛选 having
select deptno,avg(sal) from emp group by deptno having avg(sal) > 2000;
select deptno,avg(sal) 平均工资 from emp group by deptno having 平均工资 > 2000;
select deptno,avg(sal) 平均工资 from emp group by deptno having 平均工资 > 2000 order by deptno desc;
-- 统计各个岗位的平均工资,除了MANAGER
-- 方法1:
select job,avg(sal) from emp where job != 'MANAGER' group by job;
-- 方法2:
select job,avg(sal) from emp group by job having job != 'MANAGER' ;
-- where在分组前进行过滤的,having在分组后进行后滤。
单表查询总结
【1】select语句总结
select column, group_function(column)
from table
[where condition]
[group by group_by_expression]
[having group_condition]
[order by column];
注意:顺序固定,不可以改变顺序
【2】select语句的执行顺序
from--where -- group by– select - having- order by
【3】单表查询练习:
-- 单表查询练习:
-- 列出工资最小值小于2000的职位
select job,min(sal)
from emp
group by job
having min(sal) < 2000 ;
-- 列出平均工资大于1200元的部门和工作搭配组合
select deptno,job,avg(sal)
from emp
group by deptno,job
having avg(sal) > 1200
order by deptno;
-- 统计[人数小于4的]部门的平均工资。
select deptno,count(1),avg(sal)
from emp
group by deptno
having count(1) < 4
-- 统计各部门的最高工资,排除最高工资小于3000的部门。
select deptno,max(sal)
from emp
group by deptno
having max(sal) < 3000;
边栏推荐
- Meishe Q&A Room | Meiying VS Meishe Cloud Editing
- 化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
- 单调栈一些题目练习
- Camunda overall architecture and related concepts
- 数字知识库及考学一体化平台
- 【LeetCode】700.二叉搜索树
- ORB-SLAM3中的优化
- The use of DDR3 (Naive) in Xilinx VIVADO (2) Read and write design
- SkiaSharp 之 WPF 自绘 粒子花园(案例版)
- Difference between ArrayList and LinkedList
猜你喜欢

Mysql高级篇学习总结13:多表连接查询语句优化方法(带join语句)

职责链模式(responsibilitychain)

What is the principle of thermal imaging temperature measurement?Do you know?

Leetcode——利用先序遍历特性完成114. 二叉树展开为链表

map的一道题目<单词识别>

美摄问答室|美映 VS 美摄云剪辑

Meishe Q&A Room | Meiying VS Meishe Cloud Editing

A topic of map

萌宠来袭,如何让“吸猫撸狗”更有保障?

Graphical Hands-on Tutorial--ESP32 OTA Over-the-Air Upgrade (VSCODE+IDF)
随机推荐
【LeetCode】98.验证二叉搜索树
*iframe*
Oracle中对临时表空间执行shrink操作
Leetcode刷题——二叉搜索树相关题目(98. 验证二叉搜索树、235. 二叉搜索树的最近公共祖先、1038. 从二叉搜索树到更大和树、538. 把二叉搜索树转换为累加树)
北京大学,新迎3位副校长!其中一人为中科院院士!
CVPR 2022 | 从人体网格预测骨架,是真正的生理学骨架!
网管交换机与非网管交换机如何选择?
Business collocations
*SEO*
Mysql高级篇学习总结14:子查询优化、排序优化、GROUP BY优化、分页查询优化
【Inspirational】The importance of review
【Idea系列】idea配置
Mysql——》类型转换符binary
ORB-SLAM3中的优化
ORA-00054 资源正忙
将博客搬至CSDN
bitset的基本用法
拦截器,文件流,下载文件?
【LeetCode】700.二叉搜索树
ping的原理