Stengiausi aiškiai paaiškinti ko noriu, bet panašu, kad taip nesigavo.
Kad būtų vaizdžiau, pakomentuosiu rezultatus. Pirmas stulpelis (subkategorijos ID) ir antras (subkategorijos pavadinimas) reikšmės neturi. Trečias stulpelis kategorijos, kuriai priklauso subkategorija ID, ketvirtas reitingas pagal kurį rikiuojame. Rikiavimas ASC.
45 pav 1 1 // tai pirmas įrašas iš kategorijos NR 1. pagal reitingą (1)
48 pav 1 3
65 pav 1 4 // tai rečias įrašas iš kategorijos NR 1. pagal reitingą (4)
49 pav 2 2
72 pav 2 5
56 pav 2 7
67 pav 3 6 // tai pirmas įrašas iš kategorijos NR 3. pagal reitingą (6)
21 pav 3 8 // tai antras ir paskutinis įrašas iš kategorijos NR 3, nes joje tik du įrašai
78 pav 4 9
89 pav 4 10
91 pav 4 12
32 pav 5 11 // kategorijoje NR 5 tik vienas įrašas
Jeigu naudotume UNION, viskas atrodytų taip:
(SELECT * FROM `subkategorijos` WHERE `kategorijos_id` = 1 LIMIT 3) UNION (SELECT * FROM `subkategorijos` WHERE `kategorijos_id` = 2 LIMIT 3) UNION...
Ar įmanoma padaryt kažką geriau negu UNION?