【Mysql】按季度查询结果数据累加

【Mysql】按季度查询结果数据累加,第1张

参考文档:

https://blog.csdn.net/homechao/article/details/81207551?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

https://blog.csdn.net/chongmu2584/article/details/100738740?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

创建表:

create table test

(date datetime,

userid varchar(2),

amount int)

insert into test values ('2018-10-02 00:00:00','u1',20)

insert into test values ('2018-10-02 21:09:28','u2',20)

insert into test values ('2018-10-02 21:09:29','u3',30)

insert into test values ('2018-10-03 21:36:44','u1',20)

insert into test values ('2018-10-03 21:36:46','u2',72)

insert into test values ('2018-10-03 21:36:52','u3',30)

insert into test values ('2018-10-30 21:36:54','u1',10)

insert into test values ('2018-10-30 21:36:57','u2',10)

执行:

select a.date,a.userid,a.amount,sum(b.amount) from test a,test b where a.userid=b.userid and a.date>=b.date group by a.date,a.userid,a.amount

结果:

你的表格中MONAT 中并没有‘07’这个数据,所以你group by肯定是没有关于‘07’的数据的,系统没法知道你的 MONAT 就是我们常人理解的1到12个月,所以你查 A1.MONAT = '07'肯定是空。

你要查这个求和如果不涉及其他应用(例如传参)的话,就用sql语句如下:

select sum(ZJ_B) from A where MONAT >'07'

如果你想前端应用就可以写个函数

CREATE function [dbo].[aGetZJ_B](@MONTH varchar(10))

returns decimal

AS

Begin

declare @sumnum decimal

Select @sumnum =sum(ZJ_B) from A where MONAT >@MONTH

return @sumnum

End

------------

然后你执行 select * from [dbo].[aGetZJ_B]('07')

* 我这个没考虑年份,你可以再加一个 year 参数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8624944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存