Derby/JavaDB Möglichkeit von einem Random Select!

Rin

Mitglied
ich habe folgendes problem also ich möchte einen Random Select von einer Tabelle amchen aber habe bis jetzt keine Möglichkeit gefunden dies zu tun hab gegoogelt und und und aber bis jetzt nur sachen gefunden die mit Derby nicht funktionieren ich hoffe es kann mir jemand helfen.


Lg Rin
 
ein gutte ansatz ich werde es gleich einmal ausprobieren aber order by ansich ist ja nicht random das rand() hab ich noch nicht probiert


lg
 
Ja, es ist aber die einzige - mit bekannte - Möglichkeit Datensätze in zufälliger Reihenfolge auszugeben.
Zwar ist es nicht sonderlich schön und schnell, aber für kleinere Mengen durchaus zu gebrauchen.
Also immer mit einer begrenzten Anzahl arbeiten die du zuvor festgelegt hast.
Derby DB FAQ - Limit

Alternativ musst du die Zufallsausgabe nach dem holen der Daten selbst lösen.
 
Jo das stimmt schon nur ist jetzt das große Rätzel ich habe dahinter eine mehr oder weniger variable (Funktion) hängen die mir 20% von den Daten errechnet folgendes Statement ergibt sich daraus und ich bin gerade am umformen um das ORDER BY einzubauen rein logisch gesehen aus meiner sicht is es davor zu hängen bevor ich die Daten errechne und er mir halt 20% Random nimmt also folgendes Statement:

SQL:
"SELECT * FROM(SELECT ROW_NUMBER() OVER() AS r, Einmelder2.EinmelderID, Einmelder2.EinmelderEmail FROM Einmelder2 
WHERE (Einmelder2.Gesperrt = 0 OR Einmelder2.Gesperrt IS NULL)
AND Einmelder2.EinmelderEmail <> '' " AND Einmelder2.EinmelderEmail IS NOT NULL)
AS einWHERE r <= " Java Variable die sich durch die Rechnung ergibt"

so und jetzt muss ich daran ein Order By an die richtige stelle setzen so das er mich nicht aus den systematisch genommen Daten einfach sie rnd ordnet sonder Rnd 20% von den gesamt daten nimmt!
 
Zuletzt bearbeitet:
Ich hoffe ich verstehe es richtig: Du holst dir 20% deiner Daten und willst die dann in zufälliger Reihenfolge ausgeben oder sollen die 20% sich aus zufälligen Zeilen zusammensetzen?

Im ersten Fall würde ich mit einem Subquery arbeiten und im zweiten Fall kann man es bequem über die Zeilen Limitierung eingrenzen.
 
ja hast du richtig verstanden aber ich ´hab jetzt wo ich nochmal drüber geschaut habe es geschaft trotzdem danke für deine hilfe

LG Rin
 

Zurück
Oben