2010-10-22 7 views

Antwort

12

Verwendung:

WITH sample AS (
SELECT t.*, 
     ROW_NUMBER() OVER (PARTITION BY t.state 
           ORDER BY NEWID()) AS rank 
    FROM ZIPCODES t) 
SELECT s.* 
    FROM sample s 
WHERE s.rank <= 5 
+0

Das funktioniert ganz gut. Die nächste Frage - wenn ich sie zufällig nach MySQL portieren muss - gibt es eine allgemeinere Möglichkeit, die Abfrage zu erstellen? – Chris

+0

@Chris: Nicht wie es ist - MySQL hat keine Unterstützung für Analyse/Ranking. –

0
SELECT * FROM ZipCodes ORDER BY NEWID() 
+1

Ja, ich weiß über newid. Meine Frage war, wie man zufällige Datensätze für jeden Staat zieht. – Chris

Verwandte Themen