仓酷云

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

[学习教程] MYSQL网站制作之数据汇总加排序

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:50:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。排序|数据
原帖地点:
http://community.csdn.net/Expert/topic/3317/3317231.xml?temp=.7252313

程序选择了:项目称号,项目年度,地市,请求单元,撑持金额这几个字段
个中汇总字段为项目年度,地市
查询了局列就要按必要项目称号,项目年度,地市,请求单元,撑持金额分列好
并能按指定的字段举行排序处置
请求天生的了局:
=================================================================
序号项目称号项目年度地市请求单元撑持金额
1称号12004省直1公司100
2称号22004省直2公司100
32004省直算计200
4称号32004石家庄3公司100
52004石家庄算计100
62004算计300
7称号32005石家庄3公司100
82005石家庄算计100
92005算计100
10总计400
=================================================================

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

--假定以下一时表是经由第一次汇总+排序处置失掉的(第一次处置不处置小计,总计等)

createtable#t(项目称号varchar(10),项目年度varchar(10),地市varchar(10),请求单元varchar(10),撑持金额int)
insert#tselect称号1,2004,省直,1公司,400
unionallselect称号2,2004,省直,2公司,300
unionallselect称号3,2004,石家庄,3公司,200
unionallselect称号3,2005,石家庄,3公司,100
go

--上面是处置
select项目称号,项目年度,地市,请求单元,撑持金额
from(--这是完成汇总的部分(不思索小计,总计处置部分的汇总)
select*
,s1=0,s2=项目年度,s3=0,s4=地市,s5=0,s6=请求单元,s7=0--这是排序必要的
from#t
unionall
--这是完成汇总的小计,总计部分
select项目称号=case
whengrouping(项目年度)=1then总计
elseend
,项目年度=case
whengrouping(项目年度)=0
andgrouping(地市)=1
then项目年度+算计
elseend
,地市=case
whengrouping(项目年度)=0
andgrouping(地市)=0
andgrouping(请求单元)=1
then地市+算计
elseend
,请求单元=case
whengrouping(请求单元)=0then请求单元+算计
elseend
,撑持金额=sum(撑持金额)
,grouping(项目年度),项目年度--这里及上面的是排序必要的
,grouping(地市),地市
,grouping(请求单元),请求单元
,grouping(请求单元)+1
from#t
groupby项目年度,地市,请求单元withrollup--这是要天生小计,总计的分组字段
)a
orderbys1,s2,s3,s4,s5,s6,s7,撑持金额--s1~s6是避免小计,总计排序庞杂必要的,前面的撑持金额是其他排序必要的
go

--删除测试的一时表
droptable#t

/*--测试了局

项目称号项目年度地市请求单元撑持金额
---------------------------------------------------------------
称号12004省直1公司400
1公司算计400
称号22004省直2公司300
2公司算计300
省直算计700
称号32004石家庄3公司200
3公司算计200
石家庄算计200
2004算计900
称号32005石家庄3公司100
3公司算计100
石家庄算计100
2005算计100
总计1000

(所影响的行数为14行)
--*/

--下面是按项目年度,地市,请求单元做小计,总计的
--上面是只按项目年度,地市做小计,总计的,对照一下,更简单看出纪律
--上面是处置
select项目称号,项目年度,地市,请求单元,撑持金额
from(--这是完成汇总的部分(不思索小计,总计处置部分的汇总)
select*
,s1=0,s2=项目年度,s3=0,s4=地市,s5=0--这是排序必要的
from#t
unionall
--这是完成汇总的小计,总计部分
select项目称号=case
whengrouping(项目年度)=1then总计
elseend
,项目年度=case
whengrouping(项目年度)=0
andgrouping(地市)=1
then项目年度+算计
elseend
,地市=case
whengrouping(地市)=0
then地市+算计
elseend
,
,撑持金额=sum(撑持金额)
,grouping(项目年度),项目年度--这里及上面的是排序必要的
,grouping(地市),地市
,grouping(地市)+1
from#t
groupby项目年度,地市withrollup--这是要天生小计,总计的分组字段
)a
orderbys1,s2,s3,s4,s5,撑持金额--s1~s6是避免小计,总计排序庞杂必要的,前面的撑持金额是其他排序必要的

/*--测试了局

项目称号项目年度地市请求单元撑持金额
-----------------------------------------------------------
称号22004省直2公司300
称号12004省直1公司400
省直算计700
称号32004石家庄3公司200
石家庄算计200
2004算计900
称号32005石家庄3公司100
石家庄算计100
2005算计100
总计1000

(所影响的行数为10行)

--*/

由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。
小妖女 该用户已被删除
沙发
发表于 2015-1-20 05:40:44 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
海妖 该用户已被删除
板凳
发表于 2015-1-28 19:17:24 | 只看该作者
无法深入到数据库系统层面去了解和探究
莫相离 该用户已被删除
地板
发表于 2015-2-5 22:36:05 | 只看该作者
大家注意一点。如下面的例子:
深爱那片海 该用户已被删除
5#
发表于 2015-2-14 00:08:15 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
兰色精灵 该用户已被删除
6#
发表于 2015-3-4 03:20:10 | 只看该作者
总感觉自己还是不会SQL
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-11 15:47:41 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-19 01:34:43 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
飘灵儿 该用户已被删除
9#
发表于 2015-3-27 02:11:24 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
因胸联盟 该用户已被删除
10#
发表于 2015-3-27 02:11:25 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 12:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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