Using Rails 4. Not sure if I am being too ambitious. I have the following example:

```
params[:shop].each_with_index do |id, index|
  Shop.update(id, position: index + 1)
end

```

where `params[:shop] = [1, 3, 5, 7]` is a list of `shop` IDs. The code above should fire 4 separate SQLs like the following:

```
Shop Load (0.7ms)  SELECT  `shops`.* FROM `shops`  WHERE `shops`.`id` = 1 LIMIT 1
  (0.2ms)  BEGIN
SQL (0.5ms)  UPDATE `shops` SET `position` = 1 WHERE `shops`.`id` = 1
Shop Load (0.7ms)  SELECT  `shops`.* FROM `shops`  WHERE `shops`.`id` = 3 LIMIT 1
  (0.2ms)  BEGIN
SQL (0.5ms)  UPDATE `shops` SET `position` = 2 WHERE `shops`.`id` = 3
Shop Load (0.7ms)  SELECT  `shops`.* FROM `shops`  WHERE `shops`.`id` = 5 LIMIT 1
  (0.2ms)  BEGIN
SQL (0.5ms)  UPDATE `shops` SET `position` = 3 WHERE `shops`.`id` = 5
Shop Load (0.7ms)  SELECT  `shops`.* FROM `shops`  WHERE `shops`.`id` = 7 LIMIT 1
  (0.2ms)  BEGIN
SQL (0.5ms)  UPDATE `shops` SET `position` = 4 WHERE `shops`.`id` = 7

```

Is there any way to reduce the SQL to one statement?