Vì vậy, về cơ bản vấn đề của bạn có thể được xây dựng dưới dạng:
The first product of two adjacent products of type 3 cannot be placed
in a position which is a multiple of 5.
Điều phức tạp là không có thứ tự trong bảng của bạn, và không có thứ tự, không thể xác định một "vị trí" cố định cho các sản phẩm của bạn. Thứ tự của các hàng được trả về cho một SELECT không có ORDER BY không được chỉ định.
Dù sao, cách đơn giản nhất để làm điều này là trong ứng dụng. Lấy kết quả của bạn dưới dạng một mảng, quét nó và nếu bạn tìm thấy hai sản phẩm không ở đúng vị trí, chỉ cần xáo trộn chúng xung quanh trong mảng.