Mittwoch, 10. August 2011

Zufalls-Datensätze direkt per SQL auslesen

Manchmal benötigt man schnell und einfach einen einzelnen, beliebigen Datensatz aus einer Datenbank/Tabelle. Wo mir dieses bislang sehr nützlich erschien, war zum Beispiel beim Einlesen von Zufallsbildern auf mobilen Geräten. Um hier keinen unnötigen Overhead wie das Erstellen von Objekt-Id-Listen zu erzeugen, ist es manchmal hilfreich einfach nur einen Zufallswert direkt aus der Datenbank geliefert zu bekommen. Dieses kann man ganz einfach wie folgt realisieren.

MS-SQL-Server:
SELECT TOP 1 * FROM Testtabelle
ORDER BY NEWID();

SQLite:
SELECT * FROM Testtabelle ORDER BY RANDOM() LIMIT 1; 

Keine Kommentare:

Kommentar veröffentlichen