sql >> Databasteknik >  >> RDS >> PostgreSQL

SQL-fråga för paginering med flera kolumner; förstå ELLER-operatör

Syftet med OR - som du misstänker - är att hantera fallet där det finns band i poängen. Tanken är att göra en stabil sortering genom att inkludera id , så det här får allt efter (score, id) .

Förmodligen de värden som används för score och id är de senast sett värdena (förmodligen på föregående sida, men det är spekulationer).

En "stabil" sortering är en som returnerar raderna i samma ordning varje gång den tillämpas. Eftersom SQL-tabeller representerar oordnade uppsättningar, binder antyder en instabil sortera. Inklusive id gör det stabilt (förutsatt att id är unik.

Postgres stöder faktiskt en förenklad syntax:

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

Observera att jag också tog bort de enskilda citattecken. Värdena ser ut som siffror så de bör behandlas som siffror och inte som strängar.




  1. Använd PayPal köp nu-formuläret i php-galleriet, snälla hjälp

  2. Parallel Go-tester utförda mot en PostgreSQL-databas som körs på Docker

  3. Google Apps Script, JDBC och MySQL fungerar inte med Datum 0000-00-00

  4. Gemensam datumformatfunktion för Oracle-sql och Mysql