重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
create Table T
站在用户的角度思考问题,与客户深入沟通,找到高明网站设计与高明网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖高明地区。
(
id int,
a int,
b int
)
Insert into t values(1,1,1)
Insert into t values(2,2,1)
Insert into t values(3,3,1)
Insert into t values(4,4,1)
Insert into t values(5,5,1)
Insert into t values(6,6,1)
/*思路:
id可能不连续,所以先用id排序,产生一个记录号id2
然后按3条记录一组产生一个分组号G,接着按G分组求和,id取最大
最后更新
*/
With CT
AS
(
Select max(id) As id,SUM(a) As A,SUM(B) As B
from
(
Select *,(id2+2)/3 As G
from (Select *,ROW_NUMBER() over(order by id) As id2 from T) S
)M Group by G
)
Update T Set a=CT.A-T.a,b=CT.B-T.b
From CT
where T.id=CT.id
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!把时分秒分段截出来汇总,然后秒=秒总数%60 分=(分总数+秒总数/60)%60 时=时总数+(分总数+秒总数/60)/60,汇总时分秒求出以后拼装一下就好了非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
select zhanhao,sum(rain) as '20日21时-21日20时雨量' from quyu1 where zhanhao ='111' and nian='2018' and yue='05' and
((ri='20' and shi='21' ) or (ri='21' and shi='20')) group by zhanhao
你的time,不一样。如果去掉重复的。是time这个字段不要,还是要哪一条数据?
你用的开窗函数,一般都是用来做排序的,去掉重复的,还是要用分组。
-- SQLServer:
select sum(case when a is null or a = 0 then isnull(b,0) else a end)
from table1
-- Oracle:
select sum(case when a is null or a = 0 then nvl(b,0) else a end)
from table1
你这个需求很不明确
如果只是按id来汇总,直接group by id就可以
如果想跳开相同AID,可以用distinct关键字跳开就行