易截截图软件、单文件、免安装、纯绿色、仅160KB

[Oracle]高效的SQL语句之分析函数(一)

本系列文章导航
[Oracle]高效的SQL语句之分析函数(一)--sum()
[Oracle]高效的SQL语句之分析函数(二)--max()
[Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
[Oracle]高效的SQL语句之分析函数(四)--lag()/lead()
实际应用中我们可以通过sum()统计出组中的总计或者是累加值,具体示例如下:
1.创建演示表
create table emp
as
select * from scott.emp;
alter table emp
add constraint emp_pk
primary key(empno);
create table dept
as
select * from scott.dept;
alter table dept
add constraint dept_pk
primary key(deptno);
2. sum()语句如下:
select deptno,
       ename,
       sal,
  --按照部门薪水累加(order by改变了分析函数的作用,只工作在当前行和前一行,而不是所有行)
       sum(sal) over (partition by deptno order by sal) CumDeptTot,  
       sum(sal) over (partition by deptno) SalByDept,  --统计一个部门的薪水
       sum(sal) over (order by deptno,sal) CumTot,  --所有雇员的薪水一行一行的累加
       sum(sal) over () TotSal  --统计总薪水
  from emp
 order by deptno, sal
3. 结果如下:
10    MILLER    1300.00    1300    8750    1300    29025
10    CLARK    2450.00    3750    8750    3750    29025
10    KING    5000.00    8750    8750 


相关文档:

如何用SQL语句在两个数据库间复制存储过程

 --1.在目标服务器上建立如下对象(被同步的服务器)  
   
  if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[sys_syscomments_bak]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   ......

如何用命令生成SQL SERVER脚本

如何用命令生成SQL   SERVER脚本  
   
  --以下生成整个数据库的SQL脚本,我测试了,相当好用。  
  --(scptxfr.exe的路径要正确以下是我的路径)  
  declare   @cMd   varchar(1000)  
  set   @cmd   =   'master.dbo.xp_cm ......

sql中中文列名

今天遇到一个问题:
在拼一条动态Sql语句时,由于是用字段的值做列名,所以列名用到了汉字。
一运行,报错:在“、”附件有语法错误。
很纳闷,难道超长了?
尝试在企业管理器中添加这个列名,发现添加完之后系统自动添加了一对中括号,对于"aa、bb","aa,bb"也都添加了中括号。
看来是微软为了以防万一,连 ......

SQL Server 数据库导入导出部分

1.在查询分析器下查询Excel文档
Select * from
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source = "c:\测试.xls";User ID = Admin;Password=;Extended properties=Excel8.0)....Sheet1$
2.从数据库中导出数据并存到文件中
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN out c:\temp1.xls -c -q -S"."- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号