add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE data
(`id` int, `foo` varchar(1), `bar` date)
;

INSERT INTO data
(`id`, `foo`, `bar`)
VALUES
(1, 'A', '2030-03-03'),
(2, 'B', '2010-01-01'),
(3, 'C', '2020-02-02')
;
WITH CTE AS (
SELECT id, bar,
ROW_NUMBER() OVER (ORDER BY id) AS rn_id,
ROW_NUMBER() OVER (ORDER BY bar) AS rn_bar
FROM data
)
UPDATE data d
JOIN CTE c1 ON c1.id = d.id
JOIN CTE c2 ON c2.rn_bar = c1.rn_id
SET d.bar = c2.bar
SELECT *
FROM data
id foo bar
1 A 2010-01-01
2 B 2020-02-02
3 C 2030-03-03