Ich habe eine Tabelle mit Datensätzen für jede Postleitzahl in den Vereinigten Staaten. Für die Zwecke der Anzeige auf einer Karte muss ich X zufällige Datensätze pro Staat auswählen. Wie würde ich das machen?SQL Server - ziehen X zufällige Datensätze pro Zustand
10
A
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
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
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
@Chris: Nicht wie es ist - MySQL hat keine Unterstützung für Analyse/Ranking. –