這個(gè)得用到存儲(chǔ)過(guò)程和循環(huán)
創(chuàng)新互聯(lián)是專業(yè)的墨脫網(wǎng)站建設(shè)公司,墨脫接單;提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行墨脫網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
delimiter $$// 定義結(jié)束符為 $$
drop procedure if exists wk; // 刪除 已有的 存儲(chǔ)過(guò)程
create procedure wk()// 創(chuàng)建新的存儲(chǔ)過(guò)程
begin
declare i int;// 變量聲明
set i = 0;
while i 日期 do // 循環(huán)體
set i = i +xx;
insert into sum values (i);
end while;
end $$ // 結(jié)束定義語(yǔ)句
// 調(diào)用
delimiter ;// 先把結(jié)束符 回復(fù)為;
call wk();
---由于我是在window環(huán)境下運(yùn)行,我把FROM_UNIXTIME去掉,才能運(yùn)行。
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 中并沒(méi)有‘07’這個(gè)數(shù)據(jù),所以你group by肯定是沒(méi)有關(guān)于‘07’的數(shù)據(jù)的,系統(tǒng)沒(méi)法知道你的 MONAT 就是我們常人理解的1到12個(gè)月,所以你查 A1.MONAT = '07'肯定是空。
你要查這個(gè)求和如果不涉及其他應(yīng)用(例如傳參)的話,就用sql語(yǔ)句如下:
select sum(ZJ_B) from A where MONAT '07'
如果你想前端應(yīng)用就可以寫個(gè)函數(shù)
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
------------
然后你執(zhí)行 select * from [dbo].[aGetZJ_B]('07')
* 我這個(gè)沒(méi)考慮年份,你可以再加一個(gè) year 參數(shù)