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.