字典翻译 问答 其它 mysql前n行求和原始表:table1IDNum1324334557…………增加一行,计算Num的累积,第i个ID对应前i行的和IDNumSumNum133247331045155722…………如何用mysql语句计算SumNum
问题标题:
mysql前n行求和原始表:table1IDNum1324334557…………增加一行,计算Num的累积,第i个ID对应前i行的和IDNumSumNum133247331045155722…………如何用mysql语句计算SumNum
问题描述:

mysql前n行求和

原始表:

table1

IDNum

13

24

33

45

57

…………

增加一行,计算Num的累积,第i个ID对应前i行的和

IDNumSumNum

133

247

3310

4515

5722

…………

如何用mysql语句计算SumNum

韩小汀回答:
  由于mysql不允许一个修改语句中,还查询自己,所以你如果想要计算新增加列的值,我觉得得用存储过程实现.   游标循环表里的记录,   然后查询当前记录之前的sum(num),   然后修改talbe1中SumNum的值,   继续循环,直到循环完表中数据.
刘振梅回答:
  如果不在原表中插入,新建一个表,如何写mysql语句?循环我不大会用
韩小汀回答:
  DELIMITER$$CREATEPROCEDURE`proc_temp_test`()BEGINDECLAREFOUNDBOOLEANDEFAULTTRUE;DECLAREi_numINTEGER;DECLAREi_idINTEGER;DECLAREi_sumINTEGER;DECLAREc_testCURSORFORSELECTid,numFROMtable1;DECLARECONTINUEHANDLERFORNOTFOUNDSETFOUND=FALSE;OPENc_test;FETCHc_testINTOi_id,i_num;WHILEFOUNDDOSELECTSUM(num)INTOi_sumFROMtable1WHEREid
点击显示
其它推荐
热门其它推荐
  • 其它