这个得用到存储过程和循环
创新互联是专业的墨脱网站建设公司,墨脱接单;提供网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行墨脱网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
delimiter $$// 定义结束符为 $$
drop procedure if exists wk; // 删除 已有的 存储过程
create procedure wk()// 创建新的存储过程
begin
declare i int;// 变量声明
set i = 0;
while i 日期 do // 循环体
set i = i +xx;
insert into sum values (i);
end while;
end $$ // 结束定义语句
// 调用
delimiter ;// 先把结束符 回复为;
call wk();
---由于我是在window环境下运行,我把FROM_UNIXTIME去掉,才能运行。
select
tablename_tmp.*
--,@pstatus :=concat(CONCAT(@pstatus,'+'),@ptempstatus) as countstatus
,@pstatus :=concat(@pstatus,@ptempstatus) as prevstatus
,@ptempstatus :=concat('+',COUNT)
from
(
select DATE_FORMAT(FROM_UNIXTIME(order_time),'%Y-%m-%d') as TIME,COUNT(*) AS COUNT from user_order group by time
) tablename_tmp
,
(select @pstatus := '',@ptempstatus := '1' ) a
你的表格中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 参数