Takže v podstatě váš problém může být formulován jako:
The first product of two adjacent products of type 3 cannot be placed
in a position which is a multiple of 5.
Věci komplikuje to, že ve vaší tabulce není žádné pořadí a bez objednávky není možné definovat konstantní „pozici“ vašich produktů. Pořadí vrácených řádků pro SELECT bez ORDER BY není zadáno.
Každopádně nejjednodušší způsob, jak to udělat, je v aplikaci. Vezměte své výsledky jako pole, naskenujte je, a pokud najdete dva produkty, které nejsou na správné pozici, jednoduše je v poli zamíchejte.