COFFEE MUG 06。95
FAR SIDE CALENDAR 10。50
NATURE CALENDAR 12。99
SQL MAND REFERENCE 29。99
BLACK LEATHER BRIEFCASE 99。99
分析
在 HEADING 命令中的管道符号 | 可以强制在它后边的文本跳到下一个输出区 你
也许会使用多个管道符号 当你的报表受到最大行长的限制时这是很方便的 注意单价的
格式是 09。99 最大的允许显示的数字仍然是 99。99 但是现在零会出现在所有的小于 10 的
数字的前边 你也许会更喜欢这种格式因为它会使美元的格式看起来更整齐一些
报表与分类汇总
如果报表没有汇总和计算还有什么用呢 那只能说明我们是一个失败的程序员 在
SQL*PLUS 中有一些命令可以让你将报表的数据进行分组并对每一组进行汇总计算
BREAK 与标准的 SQL 的分组功能有一些不同 如 COUNT 和 SUM 这些函数在
报表和分类汇总中应用以提供更完备的报表
BREAK ON
BREAK ON 命令可以把从 SQL 中返回的数据分成一个或多个组 如果你依据用户的
名字进行分类 那么默认的客户名字将只会打印一次 以后对应的客户名字就以空白代替
了 下边的 BREAK ON 的基本使用语法
语法
BRE'AK' 'ON column1 ON column2。。。''SKIP n|PAGE''DUP|NODUP'
你也可以使用 BREAK ON REPORT 或 BREAK ON ROW ON REPORT 时会对整个报
表进行计算 ON ROW 时则是对每一组的行进行计算
SKIP 选项可以让你跳过每一组的指定行数或页数 DUP 或 NODUP 可以让你确定是
451
…………………………………………………………Page 452……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
否进行双面打印 默认是单面的
见下例
输入
SQL》 col unit_cost head "UNIT|COST" for 09。99
SQL》 break on customer
SQL》 select o。customer; p。product_name; p。unit_cost
2 from orders o;
3 products p
4 where o。product_id = p。product_id
5 order by customer;
输出
CUSTOMER PRODUCT_NAME UNITCOST
JONESandSONS MICKEYMOUSELAMP 29。95
NO2PENCILS…20PACK 01。99
COFFEEMUG 06。95
PARAKEETCONSULTINGGROUP MICKEYMOUSELAMP 29。95
NO2PENCILS…20PACK 01。99
SQLMANDREFERENCE 29。99
BLACKLEATHERBRIEFCASE 99。99
FARSIDECALENDAR 10。50
PLEWSKYMOBILECARWASH MICKEYMOUSELAMP 29。95
BLACKLEATHERBRIEFCASE 99。99
BLACKLEATHERBRIEFCASE 99。99
NO2PENCILS…20PACK 01。99
NO2PENCILS…20PACK 01。99
每一个客户只被打印了一次 当打印多个客户名时这个报表是非常易读的 排序是与
在你使用 BREAK 时所指定的排序列是相同的
PUTE
在 BREAK ON 命令中也可以使用 PUTE 命令 它可以让你对整个报表或报表中
的每个组进行不同的计算
语法
452
…………………………………………………………Page 453……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
P'UTE' function OF column_or_alias ON column_or_row_or_report
常用的一些函数有
l AVG…对每个组的平均值进行计算
l COUNT…计算每个组中的数据的个数
l SUM…计算每个组的总计结果
如果你想创建一个报表 它打印 PRODUCT 表的内容并在报表中对产品的平均价格进
行计算
输入
SQL》 break on report
SQL》 pute avg of unit_cost on report
SQL》 select *
2 from products;
输出
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。50
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
Avg 27。48
分析
你可以通过对报表的分组和对平均价格的计算来得到你想要的信息
还记得 CLEAR 命令吗 现在清除上一次的计算结果并再运行一次 这次你想计算的
是每个客户的付费情况 由于你不想再见到平均值 所以你应该清除计算的结果
输入
SQL》 clear pute
输出
putes cleared
现在 将上一次的 BREAK 清除 在这种情况下你其实不需要 BREAK 因为你还是想
453
…………………………………………………………Page 454……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
要对报表进行 BREAK 的
输入
SQL》 clear break
输出
breaks cleared
然后你按照你的需要对它们重新进行 BREAK 和计算 你也许需要重新格式化
COST_UNIT 列以使得当你进行求和时它可以接受更大的数字 你需要给它更大的显示空
间 这样它们看起来才会漂亮 所以你需要在十进数的左边增加一些空间
输入
SQL》 col unit_cost hea "UNIT|COST" for 099。99
SQL》 break on report on customer skip 1
SQL》 pute sum
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章