mysql更新x行具有相同的日期然后移动到下一个日期

时间:2016-02-22 15:22:55

标签: mysql sql

我希望在SQL中执行更新,该更新将使用日期更新特定数量的行,然后转到下一个组和日期。

例如,假设我在subscriptions表中有4000行。我需要在suspended_on字段填充今天日期的前100行,然后在明天接下来的100行,在后一天填充下一个100行,直到suspended_on字段中没有更多行

不知道从哪里开始,抱歉...

1 个答案:

答案 0 :(得分:1)

前1000行

UPDATE subscriptions a 
LEFT JOIN (
  SELECT ID,@row := @row+1 row_num 
  FROM subscriptions, (SELECT @row :=0 ) vars order by ID
) b on a.ID = b.ID set a.suspended_on = '02/22/2014'
WHERE @row <= 1000
ORDER BY ID

接下来的1000条记录

UPDATE subscriptions a 
LEFT JOIN (
  SELECT ID,@row := @row+1 row_num 
  FROM subscriptions, (SELECT @row :=0 ) vars order by ID
) b on a.ID = b.ID set a.suspended_on = '02/23/2014'
WHERE @row BETWEEN 1000 AND 2000
ORDER BY ID