Mengambil Data · Pelajaran 4 dari 9

Mengurutkan dan membatasi hasil

8 menit baca · BelajarCode

SQL
1CREATE TABLE nilai (2    nama TEXT,3    kelas TEXT,4    skor INTEGER5);67INSERT INTO nilai VALUES8    ('Andi', 'XI-1', 78), ('Bela', 'XI-2', 92), ('Citra', 'XI-1', 85),9    ('Dimas', 'XI-2', 78), ('Eka', 'XI-1', 95), ('Fajar', 'XI-2', 64);1011SELECT nama, skor FROM nilai ORDER BY skor DESC;
Hasil
nama | skor
Eka | 95
Bela | 92
Citra | 85
Andi | 78
Dimas | 78
Fajar | 64

ORDER BY kolom DESC mengurutkan dari besar ke kecil, dan ASC (bawaan) dari kecil ke besar.

Beberapa kunci pengurutan

SQL
1SELECT kelas, nama, skor FROM nilai ORDER BY kelas ASC, skor DESC;
Hasil
kelas | nama | skor
XI-1 | Eka | 95
XI-1 | Citra | 85
XI-1 | Andi | 78
XI-2 | Bela | 92
XI-2 | Dimas | 78
XI-2 | Fajar | 64

Data diurutkan menurut kelas lebih dulu, lalu di dalam setiap kelas menurut skor dari besar ke kecil.

LIMIT dan OFFSET

LIMIT membatasi banyak baris. Bersama OFFSET, LIMIT dipakai untuk paginasi, misalnya menampilkan data per halaman.

SQL
1SELECT nama, skor FROM nilai ORDER BY skor DESC LIMIT 3;
Hasil
nama | skor
Eka | 95
Bela | 92
Citra | 85
SQL
1SELECT nama, skor FROM nilai ORDER BY skor DESC, nama LIMIT 2 OFFSET 2;
Hasil
nama | skor
Citra | 85
Andi | 78

OFFSET 2 melewati dua baris pertama. Halaman ke-k dengan p baris per halaman memakai LIMIT p OFFSET (k - 1) * p.

DISTINCT

SQL
1SELECT DISTINCT kelas FROM nilai ORDER BY kelas;
Hasil
kelas
XI-1
XI-2

Urutan tanpa ORDER BY tidak dijamin

Tanpa ORDER BY, DBMS boleh mengembalikan baris dalam urutan apa pun. Jangan mengandalkan urutan "sesuai waktu dimasukkan". Jika urutan penting, tulis ORDER BY secara eksplisit.

Cek pemahaman

Untuk menampilkan halaman ketiga dengan 10 data per halaman, klausa mana yang tepat?

Latihan

Skor terendah per kelas

Tampilkan dua siswa dengan skor terendah dari kelas XI-2, dari yang paling rendah.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi