仓酷云

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

[学习教程] MSSQL编程:完成数据分类汇总的SQL语句

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:40:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。数据|语句
现有表Test,内容以下:IDCatalogNum1A31B52A82B2如今想按ID查询出这类了局:--------------------1A31B5汇总小计:82A82B2汇总小计:10问:该怎样完成?

在天生包括小计和算计的报表时,ROLLUP运算符很有效。ROLLUP运算符天生的了局集相似于CUBE运算符所天生的了局集。========================CUBE运算符天生的了局集是多维数据集。多维数据集是现实数据的扩大,现实数据即纪录一般事务的数据。扩大创建在用户盘算剖析的列上。这些列被称为维。多维数据集是一个了局集,个中包括了各维度的一切大概组合的交织表格。CUBE运算符在SELECT语句的GROUPBY子句中指定。该语句的选择列表应包括维度列和聚合函数表达式。GROUPBY应指定维度列和关头字WITHCUBE。了局集将包括维度列中各值的一切大概组合,和与这些维度值组合相婚配的基本行中的聚合值。=========================CUBE和ROLLUP之间的区分在于:CUBE天生的了局集显现了所选列中值的一切组合的聚合。ROLLUP天生的了局集显现了所选列中值的某一条理布局的聚合。

TheROLLUPoperatorisusefulingeneratingreportsthatcontainsubtotalsandtotals.TheROLLUPoperatorgeneratesaresultsetthatissimilartotheresultsetsgeneratedbytheCUBEoperator.

ThedifferencesbetweenCUBEandROLLUPare:
CUBEgeneratesaresultsetshowingaggregatesforallcombinationsofvaluesintheselectedcolumns.ROLLUPgeneratesaresultsetshowingaggregatesforahierarchyofvaluesintheselectedcolumns.
最初查询语句以下:

SELECTCASEWHEN(GROUPING(ID)=1)THENALLELSEISNULL(ID,UNKNOWN)ENDASID,CASEWHEN(GROUPING(Catalog)=1)THENALLELSEISNULL(Catalog,UNKNOWN)ENDASCatalog,SUM(Num)ASNumFROMTestGROUPBYID,CatalogWITHROLLUP
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
莫相离 该用户已被删除
沙发
发表于 2015-1-19 21:11:55 来自手机 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-28 10:52:10 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-5 20:47:42 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
透明 该用户已被删除
5#
发表于 2015-2-13 13:57:01 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
分手快乐 该用户已被删除
6#
发表于 2015-3-3 22:38:37 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
乐观 该用户已被删除
7#
发表于 2015-3-11 14:24:49 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
再见西城 该用户已被删除
8#
发表于 2015-3-18 23:08:35 | 只看该作者
也可谈一下你是怎么优化存储过程的?
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-26 20:34:08 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-17 22:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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