Ich möchte eine zufällige Zeile pro Gruppe für insgesamt N Zeilen auswählen können. Beispiel:MySQL - Wählen Sie einen zufälligen Eintrag pro Gruppe mit N Gesamtzeilen
einfaches Tabellenschema:
id shoetype shoename
jede "Gruppe" ist ein shoetype
, und es gibt mehr shoenames
pro shoetype
. Ich möchte in der Lage sein, insgesamt N Reihen, aber nur eine zufällige shoename
von jedem shoetype
zu wählen.
SELECT * FROM table GROUP BY shoetype ORDER BY RAND()
nicht zufällig einen von jedem Typ zu erhalten scheint aber nur die erste shoetype ... ich bin nicht sicher, wie eine Abfrage zu schreiben, einen gelegentliche aus jeder Gruppe zu bekommen?
dies scheint nicht zu funktionieren, wenn Sie einen zufälligen Eintrag pro Gruppe wollen – ina
Es tut, wenn Sie einen bestimmten Gruppennamen, (wählen Sie RAND SUBSELECT) als rand_id Dann schließe inner die rand_id in einem Datensatz, um die verbleibenden Daten zu erhalten –