Veröffentlicht 10. September 200421 j Hi all, gibt es in MYSQL eine Möglichkeit, wie ich Datenbankseitig von einer Tabelle zufalllsbedingt z.b. 5 Datensätze Selectieren kann? Wie ich das PHP seitig hinbekomme ist klar, aber vielleicht gehts ja mit SQL? Danke im vorraus
10. September 200421 j meint ihr es könnte so gehen, hab ich grad beim google doch noch gefunden? ich kanns leider erst am Montag testen SELECT * FROM producttable ORDER BY RAND() LIMIT 1 UNION SELECT * FROM producttable ORDER BY RAND() LIMIT 1 UNION SELECT * FROM producttable ORDER BY RAND() LIMIT 1 UNION SELECT * FROM producttable ORDER BY RAND() LIMIT 1 UNION SELECT * FROM producttable ORDER BY RAND() LIMIT 1 [/PHP]
11. September 200421 j warum klappt der UNION so nicht? wie muss der UNION richtig heissen? ich weiss mitlerweile, das es so auch geht: SELECT * FROM site_menu ORDER BY RAND() LIMIT 5 aber mich interessier trotzdem, warum der union so nicht funzt
13. September 200421 j warum klappt der UNION so nicht? wie muss der UNION richtig heissen? Das UNION ist ansich schon richtig, nur das ORDER By darf erst am Ende stehen und nur einmal. Damit würde deine Auswahl allerdings nicht gehen. Union verkettet mehrere Abfragen zu einem einzigen Resultset. Und dieses Resultset kann eben nur einmal geordnet werden.
13. September 200421 j Das UNION ist ansich schon richtig, nur das ORDER By darf erst am Ende stehen und nur einmal. Damit würde deine Auswahl allerdings nicht gehen. Union verkettet mehrere Abfragen zu einem einzigen Resultset. Und dieses Resultset kann eben nur einmal geordnet werden. und die resultsets die ich verkette lassen sich nicht einzel sortieren? Wasn das für ne komische logic? :floet: Wer macht den sowas ? :WD
13. September 200421 j und die resultsets die ich verkette lassen sich nicht einzel sortieren? Wasn das für ne komische logic? :floet: Wer macht den sowas ? :WD Du hättest am Ende ein Resultset, das in sich verschiedene Sortierungen hat: SELECT NACHNAME, VORNAME FROM tbl1 ORDER BY NACHNAME UNION SELECT NACHNAME, VORNAME FROM tbl2 ORDER BY VORNAME UNION SELECT NACHNAME, VORNAME FROM tbl3 ORDER BY NACHNAME DESC Würde bestimmt toll aussehen EDIT: Ich denke, es ist einfach so, dass die Sortierung eben ganz am Ende erfolgt, wenn das Resultset schon komplett ist. Und eben nur einmal. Könnte sein, dass es manche Datenbanken gibt die das so sogar unterstützen, weiss man ja nie...
16. September 200421 j Habe ich gerade in Heise gelesen: SQL2003 kommt 2005. Dort beschrieben ist auch TABLESAMPLE für Stichproben aus einer Tabelle. Da das eh erst demnächst umgesetzt wird, einfach mal merken und für zukünftige Anwendungen im Hinterkopf behalten. Gruß, Florian
16. September 200421 j Ich hab auch ma bei uns im IFX-Manual nachgesehen Da gibts das auch schon, aber nur in der Enterprise Edition. sieht dann so aus: SELECT <anzahlfelder> SAMPLES OF <feldname> FROM <tabelle> sprich: SELECT 5 SAMPLES OF id_cat FROM categories
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.