2010-10-22 15 views

Respuesta

12

Uso:

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

Esto funciona bastante bien. Próxima pregunta: si por casualidad tengo que llevar esto a MySQL, ¿existe alguna forma más compatible para formar la consulta? – Chris

+0

@Chris: no como está - MySQL no tiene soporte para funciones analíticas/de clasificación. –

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

Sí, lo saben de newid. Mi pregunta era cómo extraer registros aleatorios para cada estado. – Chris

Cuestiones relacionadas