sqlserver根据某一个字段进行求和运算后去掉重复的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver根据某一个字段进行求和运算后去掉重复的数据相关的知识,希望对你有一定的参考价值。
就如上表所示,需要对相同的人的score字段根据时间进行求和运算,求和完成后展示时去掉重复的人的数据,比如求2011年各人员排名,数据应该是:
张三 宝信 20
李四 宝信 10
其它字段可以忽略,保留一个就行
急求!多谢各位数据帝啊!!!
最后只剩30财富值了.....大家见谅
我这里写了一个查询,但是查出来的数据只是针对求和运算的,无法进行去重操作,大家可以帮我修正下,多谢了!
select name,time_,score,sum(score) over (partition by name) sum_score_by_name
from ccewis.T_LQYJ_INFO t where t.time_ like '2011%'
ORDER BY sum_score_by_name DESC
这个查询查出的数据是:
你用的开窗函数,一般都是用来做排序的,去掉重复的,还是要用分组。 参考技术B select name ,company,DATEPART(yyyy,time),sum(score)
from table
group by name ,company,DATEPART(yyyy,time)
order by DATEPART(yyyy,time),name ,company
sum()over()的作用,是不改变原来数据条数基础上求和。追问
我试了下,貌似查出来的数据是全部的表数据,time_字段不是DATE类型
追答where t.time_ like '2011%' 你只需要2011的,就加上这个呗
select name ,company,substring(time_,1,4), sum(score)
from taccewis.T_LQYJ_INFO
where time_ like '2011%'
group by name ,company,substring(time_,1,4)
order by substring(time_,1,4),name,company
sqlserver查询字段里面如何去除空格
select Rtrim(column) from table --去掉右边空格select Ltrim(column) from table --去掉左边空格
select replace(column,' ','') from table --去掉所有空格 参考技术A select replace( 字段名, ' ','') from TableName
以上是关于sqlserver根据某一个字段进行求和运算后去掉重复的数据的主要内容,如果未能解决你的问题,请参考以下文章