我希望在SQL中执行更新,该更新将使用日期更新特定数量的行,然后转到下一个组和日期。
例如,假设我在subscriptions
表中有4000行。我需要在suspended_on
字段填充今天日期的前100行,然后在明天接下来的100行,在后一天填充下一个100行,直到suspended_on
字段中没有更多行
不知道从哪里开始,抱歉...
答案 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