Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Membatasi Baris dalam Kumpulan Hasil MySQL

Masalah:

Anda ingin membatasi jumlah baris dalam hasil yang disetel di MySQL.

Contoh:

Basis data kami memiliki tabel bernama student dengan data pada kolom id , first_name , last_name , dan age .

id nama_depan nama_belakang umur
1 Steven Watson 25
2 Lisa Anderson 19
3 Alice Miller 19
4 Maria Coklat 25
5 Lucy Watson 25
6 Michael Jackson 22

Mari kita pilih nama lengkap dan usia siswa, tetapi batasi baris yang dikembalikan menjadi tiga.

Solusi:

SELECT first_name, last_name, age
FROM student
LIMIT 3;

Berikut hasil querynya:

id nama_depan nama_belakang umur
1 Steven Watson 25
2 Lisa Anderson 19
3 Alice Miller 19

Diskusi:

Klausa LIMIT membatasi jumlah baris dalam kumpulan hasil. Ini digunakan dalam pernyataan SELECT, biasanya di akhir pernyataan. (Bahkan ORDER BY harus dicantumkan sebelum LIMIT.)

Satu-satunya argumen yang diperlukan adalah jumlah baris yang akan ditampilkan. Dalam contoh kita, LIMIT 3 menghasilkan kumpulan hasil yang berisi tiga baris. Kecuali jika Anda menentukan sebaliknya dengan argumen OFFSET, fungsi ini akan selalu mengembalikan n . pertama baris yang memenuhi persyaratan kueri.

Argumen OFFSET opsional LIMIT ditempatkan sebelum argumen yang menunjukkan jumlah baris yang dikembalikan. Ini menunjukkan posisi baris pertama yang dikembalikan oleh LIMIT (yaitu '0' adalah baris pertama, 1 adalah baris kedua, dll.). Offset dan jumlah baris dipisahkan dengan koma.

Kueri mengembalikan rekaman yang sama dengan kueri sebelumnya karena offsetnya nol. (Nol adalah nilai offset default.)

SELECT first_name, last_name, age
FROM student
LIMIT 0, 3;

Dalam kueri ini, baris hasil tidak berurutan. Jika Anda ingin memilih tiga baris dari kumpulan hasil yang diurutkan, gunakan ORDER BY:

SELECT first_name, last_name, age
FROM student
ORDER BY age DESC, last_name, first_name
LIMIT 1,3;

Di sini, pertama-tama kita mengurutkan baris berdasarkan usia (turun), lalu nama belakang, lalu nama depan. Kami menggunakan nilai offset untuk memulai pada baris kedua yang dikembalikan dan membatasi hasilnya menjadi tiga baris:

nama_depan nama_belakang umur
Lucy Watson 25
Steven Watson 25
Michael Jackson 22

Kueri ini pertama-tama mengurutkan baris menurut kolom usia dalam urutan menurun. Kemudian diurutkan berdasarkan last_name dan first_name dalam urutan menaik. Jika Anda melihat tabel, Anda akan melihat bahwa siswa tertua (Steven, Lucy, Mary) berusia 25 tahun. Namun, Mary dihilangkan karena dia adalah baris pertama dan offsetnya adalah 1 (yaitu, kita mulai dengan baris kedua). Lucy sekarang menjadi yang pertama karena nama depannya ada sebelum nama Steven. (Steven dan Lucy memiliki nama belakang yang sama, jadi urutan mereka ditentukan oleh nama depan.) Michael berusia 22 tahun, yang membuatnya menjadi siswa tertua berikutnya dan yang terakhir dari tiga baris kembali.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pengaturan sql_mode global di mysql

  2. mySQL ::masukkan ke tabel, data dari tabel lain?

  3. Cara Memformat Angka Sebagai Mata Uang di MySQL

  4. Cara Menonaktifkan Mode Ketat MySQL

  5. Cara Membuat Penggunaan Fungsi Komentar Terbaik di MySQL