大幅に簡略化および修正されたCarlosソリューション(彼のソリューションは最後ではなく最初の5行を返します...):
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
MySQLでは、tB1.textB
を使用できます group by queryの場合でも、最初のテーブルではidBでグループ化されているため、tB1.textB
の値は1つだけです。 グループごとに...