用SQL語句生成帶有小計合計的數據集腳本

使用SQL語句生成帶有小計合計的數據集:

測試用戶: scott

測試用表: dept,emp

//////////////////////////////////

//檢索出需要進行統計的數據集

select dept.dname,emp.job,sal from emp,dept

where emp.deptno=dept.deptno;

//////////////////////////////////

//根據部門名稱以及職位進行彙總,並爲每個部門

生成'小計',最後生成'合計'.

select

decode(grouping(dept.dname),1,'合計:',dept.dname)dname,

decode(grouping(emp.job)+grouping(dept.dname),1,'小計:',emp.job)job,sum(sal) sum_sal from emp,dept where emp.deptno=dept.deptno group by rollup(dept.dname,emp.job);

運行結果如下:

SQL> select dept.dname,emp.job,sal from emp,d

DNAME JOB SAL

-------------- --------- ----------

RESEARCH CLERK 800

SALES SALESMAN 1600

SALES SALESMAN 1250

RESEARCH MANAGER 2975

SALES SALESMAN 1250

SALES MANAGER 2850

ACCOUNTING MANAGER 2450

RESEARCH ANALYST 3000

ACCOUNTING PRESIDENT 5000

SALES SALESMAN 1500

RESEARCH CLERK 1100

DNAME JOB SAL

-------------- --------- ----------

SALES CLERK 950

RESEARCH ANALYST 3000

ACCOUNTING CLERK 1300

已選擇14行。

SQL> select

2 decode(grouping(dept.dname),1,'合計:',de

3 decode(grouping(emp.job)+grouping(dept.d

ept where emp.deptno=dept.deptno group by rol

DNAME JOB SUM_SAL

-------------- --------- ----------

ACCOUNTING CLERK 1300

ACCOUNTING MANAGER 2450

ACCOUNTING PRESIDENT 5000

ACCOUNTING 小計: 8750

RESEARCH ANALYST 6000

RESEARCH CLERK 1900

RESEARCH MANAGER 2975

RESEARCH 小計: 10875

SALES CLERK 950

SALES MANAGER 2850

SALES SALESMAN 5600

DNAME JOB SUM_SAL

-------------- --------- ----------

SALES 小計: 9400

合計: 29025

已選擇13行。

SQL>

 
如何爲SQL Server表數據生成insert腳本
使用SQL Server數據庫自帶的“生成SQL腳本”工具,可以生成創建表、視圖、存儲過程等的SQL腳本。那麽,能否將表中的數據也生成爲SQL腳本,在查詢分析器中執行這些腳本後自動將數據導入到SQL Server中呢?答案是肯定的...查看完整版>>如何爲SQL Server表數據生成insert腳本
 
用Sql語句生成Sqlserver數據字典^_^
SELECT 表名=case when a.colorder=1 then d.name else '' end, --字段序號=a.colorder, 字段名=a.name, --標識=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, /*主鍵=case wh...查看完整版>>用Sql語句生成Sqlserver數據字典^_^
 
DataGrid連接Access的快速分頁法(4)——動態生成SQL語句
DataGrid連接Access的快速分頁法(4)——動態生成SQL語句using System;using System.Text;namespace Paging{ /// <summary> /// FastPaging 的摘要說明。 /// </summary> public class Fas...查看完整版>>DataGrid連接Access的快速分頁法(4)——動態生成SQL語句
 
sql server數據庫中選出指定範圍的行的sql語句寫法
在數據庫查詢的時候,我們有時有這樣的需求,就是要找出數據表裏指定範圍行內的數據記錄,比如說要找出數據表裏第10行到第20行的這10條數據,那麽我們怎麽來實現呢?按照通常的方法是實現不了的,我們得借助于臨時表以及一...查看完整版>>sql server數據庫中選出指定範圍的行的sql語句寫法
 
數據庫中SQL語言的性能監控語句推介
  1. 監控事例的等待  select event,sum(decode(wait_Time,0,0,1)) "Prev",  sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"  from v$session_Wait  group by event order by 4;  2. 回滾段的爭用...查看完整版>>數據庫中SQL語言的性能監控語句推介