marc: "Zufalls"-Datensatz auswählen

hallo,

ich möchte bei einer sql-abfrage einen zufällig ausgewählten datensatz bekommen. meine idee dazu war, eine zufällig generierte zahl als ID zu verwenden, die bei der abfrage selbst dann genutzt wird, also z.b.:

SELECT * FROM table WHERE ID=zufallszahl

aaaaaaber: dazu müßte ich ja vorher wissen, ob die zufallszahl überhaupt als ID in der DB vorkommt :-)

gibts eine elegantere möglichkeit, wie man einen datensatz auf dem zufallsprinzip basierend auswählen kann?

grüße,
marc

  1. Ich grüsse den Cosmos,

    gibts eine elegantere möglichkeit, wie man einen datensatz auf dem zufallsprinzip basierend auswählen kann?

    IMO nicht, aber du kannst das in den meisten Programmier-/Scriptsprachen sehr elegant lösen, da praktisch alle einen "Zufallsgenerator" liefern oder dieser mit wenig Aufwand programmiert werden kann.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
  2. echo $begrüßung;

    gibts eine elegantere möglichkeit, wie man einen datensatz auf dem zufallsprinzip basierend auswählen kann?

    Sortiere zufällig (ORDER BY RAND()) und nimm davon dann den ersten Datensatz (LIMIT 1).

    echo "$verabschiedung $name";

  3. Hallo Marc,

    ich möchte bei einer sql-abfrage einen zufällig ausgewählten datensatz bekommen. meine idee dazu war, eine zufällig generierte zahl als ID zu verwenden, die bei der abfrage selbst dann genutzt wird, also z.b.:

    SELECT * FROM table WHERE ID=zufallszahl

    gibts eine elegantere möglichkeit, wie man einen datensatz auf dem zufallsprinzip basierend auswählen kann?

    das hängt vom verwendeten Datenbankmanagementsystem ab. In MySQL könntest Du eine Kombination von ORDER BY RAND() und LIMIT verwenden:

    SELECT  
        spaltenliste  
    FROM tabelle  
    ORDER BY RAND()  
    LIMIT 1
    

    Freundliche Grüße

    Vinzenz