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

ROW_NUMBER w SQL — wybierz najlepszy przykład w SQL i SQL Server

SQL, czyli ustrukturyzowany język zapytań, pozwala nam zbierać dane z bazy danych za pomocą zapytań. Umożliwia nam również wstawianie, aktualizowanie i usuwanie tych danych.

W tym poście na blogu skupimy się na tym, jak pobierać dane i ograniczać wyniki za pomocą SQL.

Dlaczego należy ograniczać wyniki zapytań SQL?

Baza danych to zwykle ogromny zbiór danych. Czasami nie musimy pobierać wszystkich wyników. Aby ograniczyć wyniki, możemy zoptymalizować zapytanie.

Ograniczenie wyników zapytań jest ważne dla wydajności bazy danych. Pobieranie dużego wyniku, gdy nie jest wymagane, wiąże się z dodatkowym obciążeniem bazy danych i wpływa na wygodę użytkownika.

Jak ograniczyć wyniki zapytań w SQL

Składnia jest inna dla SQL Server, Oracle i MySQL w celu ograniczenia danych.

  • MySQL używa LIMIT .
  • ORACLE używa FETCH FIRST .
  • MS Access i SQL Server używają TOP .

Zobaczymy przykłady, jak każdy z nich działa szczegółowo poniżej.

Baza danych demonstracyjnych

Mamy następującą tabelę o nazwie students z ich szczegółami, jak widać poniżej:

ID Nazwa Płeć
1 Ryan M
2 Joanna F
3 Miranda Andersen F
4 Dalia Mata F
5 Lilianna Boyd F
6 Lexie Sharp M
7 Jazlene Cordova F
8 Brycen Werner M
9 Karissa Turner F
10 Aisha Dodson F
11 Aydin Reeves M

Jak ograniczyć zapytanie w MySQL

Poniżej znajduje się składnia MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Jako przykład wybierzemy pierwsze 5 rekordów z tabeli.

Skorzystajmy z naszej tabeli students dla tej demonstracji.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Wyjście:

Jak połączyć LIMIT z ORDER BY

Łącząc LIMIT z ORDER BY, możesz uzyskać bardziej znaczące wyniki. Na przykład możemy to wykorzystać, aby znaleźć 5 najlepszych uczniów, którzy zdali na egzaminie więcej niż 70%.

Zamówmy naszą tabelę students z kolumną name i wybierz 5 najlepszych z wyniku. Możesz to zrobić w ten sposób:

SELECT * FROM students
order by name
LIMIT 5;

Wyjście:

Jak ograniczyć wyniki – składnia Oracle

Poniżej znajduje się równoważna składnia naszego pierwszego przykładu w Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

W starszych wersjach Oracle można użyć ROWNUM, aby ograniczyć liczbę wierszy zwracanych przez zapytanie.

Przykład:

SELECT * FROM 
students 
WHERE ROWNUM < 5;

Jak ograniczyć wyniki w SQL – składnia MS Access

Poniżej znajduje się równoważna składnia naszego pierwszego przykładu w MS Access.

SELECT TOP 5 * FROM students;

Zawijanie

Funkcjonalność LIMIT może być bardzo przydatna do optymalizacji zapytań w połączeniu z sortowaniem. Wydajne zapytania są lżejsze w systemie i szybsze dla użytkownika. Zawsze zaleca się OGRANICZENIE wyników tam, gdzie ma to zastosowanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz 3 najnowsze rekordy, w których wartości jednej kolumny są różne

  2. PHP PDO:zestaw znaków, nazwy zestawów?

  3. Używanie Pythona i MySQL w procesie ETL

  4. Generowanie serii dat

  5. Długości VARCHAR MySQL i UTF-8