zoukankan      html  css  js  c++  java
  • 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  表名)

    .......................................................

  • 相关阅读:
    js 工厂模式、简单模式、抽象模式
    Angular 框架介绍
    Node.js从入门到实战ECMAScript6一页纸总结(很大的一页纸)
    ECMAScript 5和ECMAScript6的新特性以及浏览器支持情况
    JSONP 教程
    jQuery ajax() 方法
    AJAX异步的 JavaScript
    自动化构建工具--gulp的初识和使用
    front-end 前端发展学习路线参考图
    Webpack 常用命令总结以及常用打包压缩方法
  • 原文地址:https://www.cnblogs.com/Jims2016/p/5504521.html
Copyright © 2011-2022 走看看