sql >> Base de Datos >  >> RDS >> PostgreSQL

Consulta SQL para paginación con múltiples columnas; comprender el operador OR

El propósito del OR -- como sospechas -- es manejar el caso donde hay empates en los puntajes. La idea es hacer una ordenación estable incluyendo el id , así que esto está obteniendo todo después (score, id) .

Presumiblemente, los valores utilizados para score y id son los últimos valores vistos (probablemente en la página anterior, pero eso es especulación).

Una ordenación "estable" es aquella que devuelve las filas en el mismo orden cada vez que se aplica. Porque las tablas SQL representan desordenadas conjuntos, lazos implican un inestable clasificar. Incluyendo el id lo hace estable (suponiendo que id es único.

Postgres en realidad admite una sintaxis simple:

where (score, id) > (11266, 4482)

Tenga en cuenta que también eliminé las comillas simples. Los valores parecen números, por lo que deben tratarse como números, no como cadenas.