Meget forenklet og korrigeret Carlos-løsning (hans løsning ville returnere de første 5 rækker, ikke sidste...):
SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
JOIN tableB as tB2
ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5
I MySQL kan du bruge tB1.textB
selvom det er gruppe for forespørgsel, fordi du grupperer efter idB i den første tabel, så der er kun en enkelt værdi af tB1.textB
for hver gruppe...