仓酷云

标题: MSSQL编程:分组统计办法:用Group By [打印本页]

作者: 冷月葬花魂    时间: 2015-1-16 22:39
标题: MSSQL编程:分组统计办法:用Group By
线上或者测试环境经常出现的误操作总是让DBA同学那么闹心。分组|统计
原贴:http://community.csdn.net/Expert/topic/3739/3739565.xml?temp=.7632105
表中三个字段
|---------------------------------------------|
|产物数目单价|
|=============================================|
|A320|
|A425|
|A230|
|B685|
|B396|
|---------------------------------------------|

如今想失掉以下了局:
产物均匀价
A******
B******
注重:一种商品一个均匀价

均匀数算法:
A的均匀价数=(3*20)+(4*25)+(2*30)/(3+4+2),B的均匀值也如A。

求该SQL语句。

createtable表(产物varchar(5),数目int,单价decimal(4,2))
insert表selectA,3,20
unionallselectA,4,25
unionallselectA,2,30
unionallselectB,6,85
unionallselectB,3,96

select产物,cast(sum(isnull(单价,0)*isnull(数目,0))/sum(数目)asdecimal(4,2))as均匀值from表groupby产物

droptable表

--了局:

(所影响的行数为5行)

产物均匀值
-----------
A24.44
B88.67

(所影响的行数为2行)

提供用于管理、检查、优化数据库操作的管理工具。
作者: 变相怪杰    时间: 2015-1-19 20:46
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 分手快乐    时间: 2015-1-27 06:22
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
作者: 小妖女    时间: 2015-2-5 02:46
可以动态传入参数,省却了动态SQL的拼写。
作者: 海妖    时间: 2015-2-11 03:04
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
作者: admin    时间: 2015-3-1 20:15
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
作者: 不帅    时间: 2015-3-10 23:11
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
作者: 蒙在股里    时间: 2015-3-17 15:54
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
作者: 小女巫    时间: 2015-3-24 10:22
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2