仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 586|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之SQLPlus命令利用指南(三)

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
下面我将描述五个不使用MySQL的响亮理由。
SQLPlus命令利用指南(三)

/*------------------------------------------------------------------------

翁彦

工夫:2004-3-9

接待转载,请保存作者信息

/*-----------------------------------------------------------------------------------------------------

(3)Break命令

使用Break你能够打印出报表必要的一些内容,如小计,反复的列值不显现,大概每一个分组拔出一个空行等等。

扫除break设置,clearbreaks。

语法:

BREAK

-----



Specifieswhereandhowtomakeformatchangestoareport.



BRE[AK][ONreport_element[action[action]]]...



wherereport_elementhasthefollowingsyntax:

{column|expression|ROW|REPORT}



andwhereactionhasthefollowingsyntax:

[SKI[P]n|[SKI[P]]PAGE][NODUP[LICATES]|DUP[LICATES]]

申明以下:

sql>breakondeptno

失掉的了局如





经由过程对某个列设置break命令,我们往失落了反复显现deptno的值。请细心对照一下没有break的情形。这类用法称为breakcolumn的用法。BREAK命令中的列应当要呈现在SQL语句的orderby中,假如orderby中有多个列,也有多个列的break用法。如。

Break参数的申明

¨Skip[n],在每一个分组值呈现前,主动拔出n个空行

¨Skippage,在每一个分组值呈现前,主动换页

¨BREAKONROWSKIP[n],每行前面拔出n个空行。

¨Nodup反复的显现空,dup反复的也显现。

BREAK比如界说了一个事务,当值产生了变更后,能够对查询的了局实行一个特定的操纵。BREAK和COMPUTE命令一同用,就能够发生小计等报表效果。







(4)COMPUTE命令

在了局的最初显现一行统计行。假如有多个COMPUTE,那末只要最初一个COMPUTE才起感化。Clearcomputes删除一切设定的compute。

语法:

COMPUTE

-------



Calculatesandprintssummarylines,usingvariousstandard

computations,onsubsetsofselectedrows.Italsolistsall

COMPUTEdefinitions.



COMP[UTE][function[LAB[EL]text]...

OF{expr|column|alias}...

ON{expr|column|alias|REPORT|ROW}...]



COMPUTE和BREAK一同利用的。没有BREAK语句的COMPUTE没有任何效果。一样平常的用法以下:

BREAKONbreak_column

COMPUTEfunctionLABELlabel_nameOFcolumncolumncolumn

...ONbreak_column

COMPUTE实行的盘算操纵次要有:


SUM

Computesthesumofthevaluesinthecolumn.

MINIMUM

Computestheminimumvalueinthecolumn.

MAXIMUM

Computesthemaximumvalueinthecolumn.

AVG

Computestheaverageofthevaluesinthecolumn.

STD

Computesthestandarddeviationofthevaluesinthecolumn.

VARIANCE

Computesthevarianceofthevaluesinthecolumn.

COUNT

Computesthenumberofnon-nullvaluesinthecolumn.

NUMBER

Computesthenumberofrowsinthecolumn.


上面是一个COMPUTE盘算的例子。如





COMPUTE参数的申明

¨LABEL为盘算指定一个称号。如COMPUTESUMLABEL‘TOTAL’OFSALONJOB,那末在小计这一行,会显现TOTAL,而不是缺省的sum

不必要打印任何标签,就利用DUMMY。如,dummy的利用在sql*plus报表制造上仍是很有效的。





未完待续。。。。。
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-19 20:34:04 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-24 23:15:12 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
再见西城 该用户已被删除
地板
发表于 2015-2-2 13:43:54 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
只想知道 该用户已被删除
5#
发表于 2015-2-7 21:43:13 | 只看该作者
光写几个SQL实在叫无知。
莫相离 该用户已被删除
6#
发表于 2015-2-23 12:10:28 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
因胸联盟 该用户已被删除
7#
发表于 2015-3-7 08:50:42 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
透明 该用户已被删除
8#
发表于 2015-3-21 12:01:07 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-26 23:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表