逐行累加,最好是在应用程序端用编程的方法解决。数据库端用SQL语句实现累加需求,数据表须要有一个自增ID列,但是系统开销会比较大。下面是示范语句供参考:
-- 利用自增id列实现累加SQL语句
select t.*,
(select sum(num) from test where id<=t.id)
as AcmNum from test t
源表数据如图
累加运行效果如图
伪代码 对应好id和数组的值就行$data=array('2','23','1111')
for ($i = 0$i <count($data)$i++) {
$sql="UPDATE 表 SET `value` = 'value'+$data[0] WHERE `id` =$i"
mysql_query($sql)
}
---由于我是在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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)