Zuerst müssen Sie Ihre Reihen ordnen und nach Geschlecht Partition erstellen ,
so ähnlich:
SELECT @row_num := IF(@prev_value=GENDER,@row_num+1,1) AS RowNumber
user_id,
Gender,
@prev_value := GENDER
FROM Person,
(SELECT @row_num := 1) x,
(SELECT @prev_value := '') y
ORDER BY Gender,user_id
und als Sie die Anzahl der Benutzer ziehen können Sie zum Beispiel benötigen, wenn Sie benötigen 100 Benutzer können Sie laufen, wenn RowNumber < = 50,
Sie 50 Benutzer von jedem Geschlecht bekommen (wenn Sie genügend Datensätze in der haben Tabelle).
Sie können mit dem Auftrag spielen, um die Bestellung zu ändern, zum Beispiel Alter oder andere Felder hinzufügen
Siehe http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve -für-was-scheint-mir-eine-sehr-einfach-sql-abfrage – Strawberry