Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać n-ty wiersz w tabeli bazy danych SQL?

Istnieją sposoby na zrobienie tego w opcjonalnych częściach standardu, ale wiele baz danych obsługuje to na swój własny sposób.

Naprawdę dobra strona, która mówi o tym i innych rzeczach, to http://troels. arvin.dk/db/rdbms/#select-limit .

Zasadniczo PostgreSQL i MySQL obsługują niestandardowe:

SELECT...
LIMIT y OFFSET x 

Oracle, DB2 i MSSQL obsługują standardowe funkcje okienek:

SELECT * FROM (
  SELECT
    ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
    columns
  FROM tablename
) AS foo
WHERE rownumber <= n

(które właśnie skopiowałem ze strony, do której link znajduje się powyżej, ponieważ nigdy nie używam tych baz danych)

Aktualizacja: Od PostgreSQL 8.4 standardowe funkcje okienkowe są obsługiwane, więc spodziewaj się, że drugi przykład będzie działał również dla PostgreSQL.

Aktualizacja: SQLite dodał obsługę funkcji okien w wersji 3.25.0 w dniu 2018-09-15, więc obie formy działają również w SQLite.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do nas w Amsterdamie na spotkanie z OptimaData i vidaXL

  2. Jak znaleźć i zamienić tekst w tabeli mysql

  3. MySQL konwertuje ciąg daty na uniksowy znacznik czasu

  4. DOUBLE vs DECIMAL w MySQL

  5. MySQL ON DUPLICATE KEY UPDATE dla wielu wierszy wstawia się w jednym zapytaniu