SQL gibt 100 zufällige Zeilen für jedes Alter zurück

Für jedes i.Age (0-100) möchte ich 100 zufällige Zeilen für jedes Alter mit den ausgewählten Daten zurückgeben. Ich bin mir nicht sicher, ob ich eine while-Schleife verwenden soll, um dies zu erreichen, oder möglicherweise eine Gruppe mit einem Limit? Ich habe mir ein paar verschiedene Beispiele angesehen, bin aber immer noch ziemlich verwirrt.

SELECT, i.name, i.Gender, i.Age, i.MP, b.score
FROM i
INNER JOIN b on b.name=i.name
WHERE i.MP='F'
AND i.gender='F'
AND b.score<=-1
AND i.age = 0
ORDER BY RAND()
LIMIT 100

Im Moment funktioniert die obige Abfrage, gibt aber nur 100 zufällige Zeilen für das Alter von 0 zurück. Ich habe mir ein paar Beispiele angesehen, kann aber nicht nachvollziehen, ob ich eine group by- oder möglicherweise eine while-Schleife verwenden soll. Die Tabelle enthält über 10.000.000 Zeilen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage