https://www.youtube.com/watch?v=0dCqt4jpMCs

Similar to: - Swap consecutive seat ids

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    item VARCHAR(255) NOT NULL
);

INSERT INTO orders (order_id, item) VALUES
(1, 'Chow Mein'),
(2, 'Pizza'),
(3, 'Veg Nuggets'),
(4, 'Paneer Butter Masala'),
(5, 'Spring Rolls'),
(6, 'Veg Burger'),
(7, 'Paneer Tikka');

Pasted image 20241121184358.png
LEAD()
LAG()
CASE WHEN

select order_id as corrected_order_id,
CASE WHEN 
	order_id = (select max(order_id) from orders) AND order_id %2 != 0 
    THEN item
	WHEN order_id%2 = 0 
    THEN lag(item,1) OVER (order by order_id)
	ELSE lead(item,1) OVER (order by order_id) 
END AS item
FROM orders