仓酷云

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

[学习教程] MSSQL编程:分组统计办法:用Group By

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

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

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

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

本版积分规则

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

GMT+8, 2024-5-21 11:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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