[SQL] SQL-Abfrage - mindestens...

hammi

Well-known member
ID: 27472
L
4 Mai 2006
175
33
huhu,

ich hab folgendes Problem:
Es existiert eine Tabelle mit Männlein und Weiblein. Nun sollen aus der Tabelle zufällig 4 Mitglieder rausgesucht werden, wovon mindestens 2 weiblich sein sollen.

Wie kann man das schon in der SQL-Abfrage lösen?

vielen Dank im Voraus für eure Hilfe :)
hammi
 
PHP:
(
	SELECT
		daten
	FROM
		personen
	WHERE
		personen.geschlecht = 'männchen'
	ORDER BY
		rand()
	LIMIT
		2
)
UNION
(
	SELECT
		daten
	FROM
		personen
	WHERE
		personen.geschlecht = 'weibchen'
	ORDER BY
		rand()
	LIMIT
		2
)

und wenn du m und w nicht immer nacheinander haben willst kannste nach der letzten klammer auch nochmal ORDER BY rand() setzen.
 
Für den Fall, dass du 3 Weibchen oder sogar 4 Weibchen haben willst, würfelst du am besten in deinem Script nochmal aus und setzt diesen Wert dann ans LIMIT dran.
ZeroCCC's Query liefert dir immer genau 2 Weibchen und 2 Männchen.