Róźne wizje LIMIT w zapytaniach SQL

MySQL - logoDzisiaj w pracy (używamy Firebird SQL) chciałem zoptymalizować powstałe zapytanie do bazy. Chodziło mi tylko o pierwszy rekord zapytania (odpowiednie warunki w ORDER BY).
Jako, że dużą część życia używałem MySQL/PostgreSQL od razu pomyślałem, że użyję LIMIT z parametrem tak, aby otrzymać tylko jeden rekord w wyniku.
Niestety wyszło, że komenda nieznana 🙂 Dla potomnych jak używać LIMIT w różnych systemach bazodanowych:

  • MySQL

    SELECT column1, column2 FROM foo LIMIT 10, 20

  • PostgreSQL

    SELECT column1, column2 FROM foo LIMIT 20, 10

  • Firebird 1.x

    SELECT FIRST 10 SKIP 20 column1, column2 FROM foo

  • Firebird 2.x

    SELECT FIRST 10 SKIP 20 column1, column2 FROM foo

    lub

    SELECT column1, column2, column3 FROM foo ROWS 10 TO 20 (zgodne SQL standards)

Informacja jak to zrobić w Firebird 1.x z bloga Scott’a Yang’a.