0

查询一:

SET @count = 0;
    UPDATE a_daily_copy_copy
    SET a_daily_copy_copy.Cummulative_Target = @count:= target + @count 
    where a_daily_copy_copy.Site_id = 1 
          and a_daily_copy_copy.Year=4 
          and a_daily_copy_copy.Billing_cycle=1
    ORDER BY date

查询2:修改a_daily_copy_copy.Billing_cycle=2

 SET @count = 0;
    UPDATE a_daily_copy_copy
    SET a_daily_copy_copy.Cummulative_Target = @count:= target + @count
    where a_daily_copy_copy.Site_id = 1 
          and a_daily_copy_copy.Year=4 
          and a_daily_copy_copy.Billing_cycle=2
    ORDER BY date

我是初学者,到目前为止,我每次都通过编辑查询 1 手动运行查询,并且我知道两个查询都可以合并为一个查询。

我尝试使用 Group by function 解决,但无法提出请帮助我。

已筛选表: 在此处输入图像描述

4

1 回答 1

2

在我看来,您可以这样做:

SET @count = 0;
    UPDATE a_daily_copy_copy
    SET a_daily_copy_copy.Cummulative_Target = @count:= target + @count where a_daily_copy_copy.Site_id = 1 and a_daily_copy_copy.Year=4 and a_daily_copy_copy.Billing_cycle IN (1, 2)
    ORDER BY date

...除非我错过了除计费周期之外的两个查询之间的差异。

于 2012-11-24T08:42:28.637 回答