したがって、基本的に問題は次のように定式化できます:
The first product of two adjacent products of type 3 cannot be placed
in a position which is a multiple of 5.
物事を複雑にしているのは、テーブルに順序がなく、順序がないと、製品の一定の「位置」を定義することができないということです。 ORDERBYのないSELECTに対して返される行の順序は指定されていません。
とにかく、これを行う最も簡単な方法はアプリケーションです。結果を配列として取得してスキャンし、正しい位置にない2つの製品を見つけた場合は、配列内でそれらをシャッフルします。