Announcement

Collapse
No announcement yet.

SQL rand mit Unterauswahl

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL rand mit Unterauswahl

    Hallo zusammen,

    ich möchte folgendes aus meiner MySQL Datenbank auslesen:

    Die letzten 3 Datensätze aus einer Tabelle auslesen und von diesem Suchergebnis dann per Zufallsgenerator sortiert einen Datensatz ausgeben.

    Geht das in einem verschachtelten SQL. Fiktiv würde ich mir das so vorstellen, geht aber leider nicht:

    select * from (SELECT * FROM tabelle ORDER BY id DESC LIMIT 3) order by rand() limit 1

    Wäre dankbar für Hilfe!

    Gruß
    René

  • #2
    Hallo René,

    bin zwar kein mySQL Experte (die findest im mySQL Forum ;-), aber so sollte es gehen (zumindest eine von vielen Möglichkeiten):

    SELECT *
    FROM Tabelle
    WHERE ID IN (SELECT ID FROM tabelle ORDER BY id DESC LIMIT 3)
    ORDER BY rand()


    Olaf
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Leider sagt mein MySQL mir:

      This Version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'.

      Gibts andere Wege/Umwege, oder gibt es schon neuere Versionen von MySQL die das beherrschen?

      Comment

      Working...
      X