kostenloser Webspace werbefrei: lima-city


SQL - Random aus den letzten 10 Einträgen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aklasse

    Kostenloser Webspace von aklasse

    aklasse hat kostenlosen Webspace.

    Hallo!

    Ich möchte aus den letzten 10 Einträgen (nach id) einen Random ausgegeben haben und weiß leider nicht wie ich das in einem SQL Statement anstellen soll.

    Natürlich könnte ich zuerst die höchste id herausfinden und dann eine neue Abfrage für alle Reihen mit id größer größteid-11 sortiert nach Random starten, aber ich denke es geht auch besser und schneller.
    Vielleicht kann mir einer von euch SQL Profis weiterhelfen, da ich mit derartig komplexen SQL Abfragen noch nicht konfrontiert war.

    Vielen Dank und liebe Grüße
    Stefan
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mach das doch mit PHP...

    Hol dir die ID der letzten 10 elemente und leg sie auf ein IDArray, dann ermittle dir eine Zufallszahl zwischen MinIndex und MaxIndex des Arrays und hole den Eintrag mit der ID auf dem Arrayelement IDArray[Zufallszahl] aus der DB.
  4. SELECT * FROM (SELECT * FROM Tabelle ORDER BY id DESC LIMIT 10) AS tmp ORDER BY RAND() LIMIT 1
  5. Autor dieses Themas

    aklasse

    Kostenloser Webspace von aklasse

    aklasse hat kostenlosen Webspace.

    fatfox schrieb:
    Mach das doch mit PHP...

    Hol dir die ID der letzten 10 elemente und leg sie auf ein IDArray, dann ermittle dir eine Zufallszahl zwischen MinIndex und MaxIndex des Arrays und hole den Eintrag mit der ID auf dem Arrayelement IDArray[Zufallszahl] aus der DB.


    Hat man nicht gelernt so viel wie möglich in Mysql auszulagern? Wesentlich schneller...
    fabo schrieb:
    SELECT * FROM (SELECT * FROM Tabelle ORDER BY id DESC LIMIT 10) AS tmp ORDER BY RAND() LIMIT 1


    Das man SQL verachachteln kann habe ich bisher nicht gewusst. Danke für den Tipp, jetzt funktioniert alles.

    Grüße
    Stefan
  6. Eine rein auf MySQL basierende Lösung ist nicht zwangsläufig schneller als in PHP. Jedoch glaube ch, dass zumindest dieses Vorhaben einfacher mit MySQL umzusetzen ist, als mit PHP.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!