Pilih 10 Baris Teratas dalam SQL

Pilih 10 Baris Teratas Dalam Sql



Apabila kami bekerja dalam pangkalan data SQL, kami mungkin menemui keadaan di mana kami perlu mengambil subset baris tertentu daripada jadual tertentu. Ini membolehkan kami mengehadkan sumber yang diperlukan untuk mengambil nilai daripada jadual.

Nasib baik, dalam SQL, kami mempunyai akses kepada klausa LIMIT yang membolehkan kami mengawal bilangan baris yang dikembalikan dalam set hasil yang diberikan. Ciri ini sangat berguna apabila kita berurusan dengan set data yang besar dan sebenarnya tidak memerlukan keseluruhan baris tetapi sebaliknya subset daripadanya. Ini boleh sama ada untuk mendapatkan susun atur data atau pembentangan.

Dalam tutorial ini, kami akan mempelajari cara kami boleh menggunakan dan bekerja dengan klausa LIMIT dalam pangkalan data SQL untuk menentukan bilangan baris yang kami ingin dapatkan daripada pangkalan data.







Keperluan:

Sebelum kita menyelami cara kerja dan penggunaan klausa LIMIT dalam SQL, mari kita bincangkan beberapa keperluan asas untuk tutorial ini.



Untuk mengikuti siaran ini, anda memerlukan perkara berikut:



  1. MySQL 8.0 dan ke atas berfungsi dengan MySQL 5
  2. Akses kepada pangkalan data sampel Sakila
  3. Kebenaran untuk menanyakan baris daripada pangkalan data sasaran (akses baca)

Dengan syarat yang diberikan dipenuhi, kita boleh meneruskan tutorial ini.





HAD SQL

Dalam SQL, klausa LIMIT membenarkan kami mengehadkan bilangan baris yang dikembalikan daripada pertanyaan SQL yang diberikan. Sebagai contoh, dalam penyataan pilih, daripada mengembalikan semua baris daripada jadual yang mungkin mengandungi lebih 1000 rekod, kita boleh memilih untuk melihat hanya 10 baris pertama.

Berikut menunjukkan sintaks asas klausa LIMIT dalam SQL:



PILIH col1, col2, ...

DARI tbl_name

LIMIT bilangan_baris;

Dalam contoh ini, kami menggunakan klausa LIMIT bersama-sama dengan pernyataan SELECT.

Daripada sintaks yang diberikan, 'tbl_name' mewakili nama jadual yang kami ingin dapatkan semula data.

'bilangan_baris' membolehkan kami menentukan bilangan maksimum baris yang dikembalikan dalam set hasil.

Contoh 1: Hadkan Bilangan Baris

Peranan paling biasa dan asas klausa LIMIT adalah untuk menetapkan bilangan maksimum baris yang disertakan dalam set hasil.

Katakan kita mahu menggunakan jadual 'filem' daripada pangkalan data sampel Sakila. Walau bagaimanapun, memandangkan kami tidak mahu mengambil semua baris yang berkaitan, kami boleh memilih 10 baris pertama seperti yang ditunjukkan dalam contoh klausa berikut:

PILIH * DARI filem

HAD 10 ;

Sebaik sahaja kami menjalankan pertanyaan yang diberikan, kami harus mendapatkan output seperti berikut:

  Tangkapan skrin bagi Perihalan komputer dijana secara automatik

Dalam contoh ini, kami menggunakan klausa LIMIT untuk mengehadkan set hasil kepada 10 baris. Ini mengambil 10 baris pertama daripada hasil carian.

Contoh 2: Menggunakan Nilai OFFSET

Dalam sesetengah kes, kami mungkin ingin melangkau atau meninggalkan bilangan baris tertentu. Sebagai contoh, katakan kita ingin mendapatkan lima elemen sahaja, tetapi kita mahu bermula pada kedudukan 20. Kita boleh menggunakan parameter OFFSET yang membolehkan kita memberitahu klausa LIMIT pada kedudukan yang kita ingin mulakan.

Ini amat berguna apabila anda perlu melaksanakan penomboran dalam set data yang besar seperti yang ditunjukkan dalam contoh berikut:

PILIH id_filem, tajuk, tahun_keluaran, `panjang` DARI filem

HAD 10 OFFSET dua puluh ;;

Ini sepatutnya mengembalikan 10 baris bermula dari kedudukan 20 seperti berikut:

Seperti yang anda boleh lihat daripada hasil yang diberikan, permulaan 'id_film' bermula pada kedudukan 21 dan meneruskan ke kedudukan 30.

Contoh 3: Menggunakan Klausa Urutan OLEH

Satu lagi kegunaan biasa klausa LIMIT adalah digabungkan dengan klausa ORDER BY. Ini membolehkan kami mendapatkan semula bilangan baris tertentu yang berdasarkan susunan tertentu. Ini boleh termasuk pengisihan asas (menaik atau menurun), dsb.

Sebagai contoh, katakan kita ingin mendapatkan semula 10 filem terpanjang teratas daripada jadual 'filem'. Kita boleh menggunakan klausa ORDER BY untuk mengisih nilai berdasarkan panjang dan kemudian mengehadkan 10 baris pertama.

Contohnya adalah seperti berikut:

PILIH f.id_filem, f.tajuk, f.panjang

DARI filem f

PESANAN MENGIKUT panjang DESC

HAD 10 ;

Dalam kes ini, kami menggunakan klausa ORDER BY untuk menyusun baris dalam susunan menurun (tertinggi ke terendah) dan kemudian mengambil 10 baris pertama menggunakan klausa LIMIT.

Set keputusan adalah seperti berikut:

  Jadual senarai Penerangan dijana secara automatik dengan keyakinan sederhana

Itulah anda mempunyainya!

Kesimpulan

Dalam siaran ini, kami mempelajari asas dan ciri lanjutan untuk bekerja dengan klausa LIMIT dalam pangkalan data SQL.