sql 如何整合列统计得分

hulingjie1314 2016-08-22 10:41:13


上图查询语句:
select BelongPro,fathernumber,sum(score) as score,DWId,ProName from vwScoreByDW group by fathernumber,DWId,BelongPro,ProName



我想要把 BelongPro和fathernumber相等的score进行相加整合。比如:


201 1 9 101 羽毛球
201 1 4 103 羽毛球

vwScoreByDW视图:



麻烦哪位大神指教,怎样才能进行整合统计,感谢!


...全文
641 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-08-22
  • 打赏
  • 举报
回复
SELECT  BelongPro = ISNULL(BelongPro, '总计') ,
        fathernumber = CASE WHEN GROUPING(BelongPro)=0
                            THEN ISNULL(fathernumber, '小计')
                            ELSE ''
                       END ,
        SUM(score) AS score ,
        DWId ,
        ProName
FROM    vwScoreByDW
GROUP BY fathernumber ,
        DWId ,
        BelongPro ,
        ProName
        WITH ROLLUP
HAVING  GROUPING(ProName) = 0
        AND GROUPING(ProName) = 0
        OR GROUPING(fathernumber) = 1
        OR GROUPING(fathernumber) = 1;
hulingjie1314 2016-08-22
  • 打赏
  • 举报
回复
引用 8 楼 roy_88 的回复:
另一种显示,在记录下多一条记录合计 或合并改变结果集记录数
数据还是有误诶,怎么按DWId统计,比如男单应该是101 6 103 4 分开统计score2是10的话 无法统计了。
中国风 2016-08-22
  • 打赏
  • 举报
回复
另一种显示,在记录下多一条记录合计 或合并改变结果集记录数
中国风 2016-08-22
  • 打赏
  • 举报
回复
你要拼成一个结果集就只能这样显示,明白?
hulingjie1314 2016-08-22
  • 打赏
  • 举报
回复
不过数值好像是统计出来了
hulingjie1314 2016-08-22
  • 打赏
  • 举报
回复
确实会重复呢,不知该怎么办?
hulingjie1314 2016-08-22
  • 打赏
  • 举报
回复
引用 3 楼 roy_88 的回复:
新增一列显示
SELECT  BelongPro ,
fathernumber ,
SUM(score) AS score ,
DWId ,
ProName,
SUM(score)OVER(PARTITION BY BelongPro ,fathernumber) AS score2

FROM vwScoreByDW
GROUP BY fathernumber ,
DWId ,
BelongPro ,
ProName;


中国风 2016-08-22
  • 打赏
  • 举报
回复
新增一列显示
SELECT  BelongPro ,
        fathernumber ,
        SUM(score) AS score ,
        DWId ,
        ProName,
		SUM(score)OVER(PARTITION BY BelongPro ,fathernumber) AS score2
	
FROM    vwScoreByDW
GROUP BY fathernumber ,
        DWId ,
        BelongPro ,
        ProName;
hulingjie1314 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
DWId , ProName ---------这要去掉,不去掉会重复 不同值不能分组,不去掉只能取合并/最大或小值
但是我还要再根据DWId来进行单位的统计的,去掉就无法统计了呢。
中国风 2016-08-22
  • 打赏
  • 举报
回复
DWId , ProName ---------这要去掉,不去掉会重复 不同值不能分组,不去掉只能取合并/最大或小值

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧