14
¿Cómo seleccionaría 20 filas aleatorias en una consulta SQL (PostgreSQL)?PostgreSQL selecciona 20 registros aleatorios
¿Cómo seleccionaría 20 filas aleatorias en una consulta SQL (PostgreSQL)?PostgreSQL selecciona 20 registros aleatorios
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 20
Tenga en cuenta que esto es muy lento, no lo haga si tiene más de 20k filas. – Johan
@Johan No estoy seguro de si esto se optimizó desde la publicación de esta pregunta, pero un 'EXPLAIN' en 20k + filas muestra el mismo costo para la clave de clasificación' RANDOM() 'y cualquier otra columna utilizada como la clave de clasificación (por ejemplo, 'calificación'). –
@ChrisCirefice, si la columna 'calificación 'tiene una cardinalidad pobre (o no está indexada), tendrá los mismos costos, ya que los índices solo se pueden usar si las condiciones son las correctas. Sin más detalles, eso es todo lo que puedo decir. – Johan