Oracle中With As 、Group By 语法
比如有下面三张表,用With as 、Group By语法解决几个问题;
with as : 可以用来创建临时表,作为过度的表;
group by: 按照某个字段来分类;
对应字段如下:
Sales empNo salDate City Client sal emp empNo ename visit empNo visitDate Client visitTimes
问题一:查出每个员工每个月的总销售额
分析:这里每个员工(即表中所有员工都要列出,哪怕没有销售额) , 每个月的总销售额(按月份进行累计) 、总销售额(SUM()函数)
select emp.ename ,sales.saldate, sum(sales.sal) from emp left join sales
on emp.empno=sales.empno group by emp.ename,sales.saldate;
问题二:查出每个员工每个月总的拜访次数
分析:这里和问题一类似代码如下
select emp.ename ,visit.visitdate ,sum(visit.vistimes)
from emp left join visit on emp.empno=visit.empno
group by emp.ename,visit.visitdate;
问题三:查出每个员工每个城市的销售额
分析: 这里就是按照员工 、初始来分组求和
问题四:列出全年销售额从大到小员工排序及其全年销售额
问题五:列出每个员工当年的销售额和拜访次数
分析:这里可以拆开两张表,一张总销售额表和一张总拜访次数表
问题六:查出拜访次数最多的员工的全年销售额
总结 : with as 作用可以理解为临时表,为了临时用到而先得到的表,好像也可以理解为视图什么的,虽然视图现在还不是明白什么。
With
临时表名(TempTable) As (select 字段 from 表名),
临时表名(TempTable) As (select 字段 from 表名)
.......................................................
最新文章
- HTTP请求 GET POST 网络编程实现
- jQuery 事件
- Android--UI之AutoCompleteTextView
- selenium and win32api
- sql查询指定范围内的所有月份
- jquery的.submit
- struts2常用的常量constant(转)
- vue数据绑定原理
- 解决linux AMR转MP3出现转码成功却无法播放的问题
- Django之AppConfig源码学习
- SVG的动态之美-搜狗地铁图重构散记
- Elasticsearch一些使用笔记(持续更新)
- [Swift]LeetCode529. 扫雷游戏 | Minesweeper
- 看我如何未授权登陆某APP任意用户(token泄露实例)
- SpringBoot-性能优化之扫包优化
- Python基础【day02】:数据运算(二)
- 潭州课堂25班:Ph201805201 MySQL第一课 (课堂笔记)
- 枚举+最短路 poj1062
- git版本超前了N个版本且落后了N个版本的解决办法
- C# HtmlAgilityPack和AngleSharp 解析HTML