MySQL - 19 - LIMIT (Menampilkan Beberapa Data)
Jagat Koding - Terkadang kita perlu membatasi jumlah data yang ditampilkan sesuai dengan kapasitas yang tersedia. Limit adalah sebuah QUERY yang bisa kita gunakan pada MySQL untuk membatasi jumlah data yang ditampilkan sesuai dengan yang diinginkan.
Misalnya kalian saat ini memiliki data mahasiswa sebanyak 1000 data, sedangkan kalian ingin menampilkan 10 data teratas yang sudah kalian urutkan berdasarkan umurnya. Studi kasus seperti itulah yang bisa kalian selesaikan dengan menggunakan QUERY LIMIT. Untuk memahami lebih lanjut tentang limit, mari kita coba dengan studi kasus yang sederhana.
Persiapan
Sebelumnya saya sudah memilki sebuah database dengan nama db_kampus yang didalamnya juga sudah sebuah tabel dengan nama tb_mahasiswa. Tabel tb_mahasiswa memiliki detil atau spesifikasi sebagai berikut:
MariaDB [db_kampus]> DESC tb_mahasiswa;
+----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+----------------+
| id_mahasiswa | int(11) | NO | PRI | NULL | auto_increment |
| nama_mahasiswa | varchar(50) | YES | | NULL | |
| jenis_kelamin | varchar(10) | YES | | NULL | |
| umur | int(11) | YES | | NULL | |
+----------------+-------------+------+-----+---------+----------------+
4 rows in set (1.33 sec)
Selain itu, saya juga sudah menginputkan beberapa data sehingga saat ini tabel tb_mahasiswa sudah memiliki beberapa data mahasiswa. Bagi kalian yang belum memiliki tabel dengan nama tb_mahasiswa bisa kalian ikuti tutorial tentang membuat dan menghapus tabel. Untuk mengisi tabel, kalian bisa mengikuti step by step pada postingan tentang Insert Into. Berikut adalah isi dari tabel tb_mahasiswa yang sudah saya buat:
MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa;
+--------------+---------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa | jenis_kelamin | umur |
+--------------+---------------------+---------------+------+
| 1 | Alexander Kurniawan | Laki-laki | 22 |
| 2 | Hendrik Setiawan | Laki-laki | 23 |
| 3 | Dita Leni | Perempuan | 21 |
| 4 | Adi Luhung | Laki-laki | 22 |
| 5 | Lusi Arianti | Perempuan | 23 |
| 6 | Bima Santosa | Laki-laki | 22 |
| 7 | Bayu Pamungkas | Laki-laki | 22 |
| 8 | Eka Puspita Sari | Perempuan | 22 |
+--------------+---------------------+---------------+------+
8 rows in set (0.00 sec)
Percobaan
Saat ini di tb_mahasiswa terdapat 8 data mahasiswa yang urutannya berdasarkan id_mahasiswa. Saya akan mencoba membatasi data yang ditampilkan sehingga akan ditampilkan 3 data teratas dari tabel tb_mahasiswa. Berikut adalah QUERY dan hasil eksekusinya:
MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa LIMIT 3;
+--------------+---------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa | jenis_kelamin | umur |
+--------------+---------------------+---------------+------+
| 1 | Alexander Kurniawan | Laki-laki | 22 |
| 2 | Hendrik Setiawan | Laki-laki | 23 |
| 3 | Dita Leni | Perempuan | 21 |
+--------------+---------------------+---------------+------+
3 rows in set (0.01 sec)
Terlihat bahwa data yang ditampilkan adalah 3 data teratas berdasarkan id_mahasiswa yang ada di tabel tb_mahasiswa. Bagaimana jika kita ingin menampilkan 3 data mahasiswa Laki-laki?. Kita bisa menambahkan statement WHERE pada QUERY sehingga hasilnya sebagai berikut:
MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa
-> WHERE jenis_kelamin = 'Laki-laki'
-> LIMIT 3;
+--------------+---------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa | jenis_kelamin | umur |
+--------------+---------------------+---------------+------+
| 1 | Alexander Kurniawan | Laki-laki | 22 |
| 2 | Hendrik Setiawan | Laki-laki | 23 |
| 4 | Adi Luhung | Laki-laki | 22 |
+--------------+---------------------+---------------+------+
3 rows in set (0.00 sec)
Bagaimana kalau kita ingin menampilkan 3 mahasiswa tertua pada tabel tb_mahasiswa? Apakah bisa? Tentu bisa, kita hanya tinggal menggunakan ORDER By untuk mengurutkan terlebih dahulu data mahasiswa pada tabel tb_mahasiswa sehingga data tersebut urut dari mahasiswa tertua sampai termuda. Berikut adalah penyelesaiannya:
MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa
-> ORDER BY umur DESC
-> LIMIT 3;
+--------------+---------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa | jenis_kelamin | umur |
+--------------+---------------------+---------------+------+
| 2 | Hendrik Setiawan | Laki-laki | 23 |
| 5 | Lusi Arianti | Perempuan | 23 |
| 1 | Alexander Kurniawan | Laki-laki | 22 |
+--------------+---------------------+---------------+------+
3 rows in set (0.06 sec)
Bagaimana, mudah bukan? Itu tadi pembahasan kita tentang QUERY LIMIT pada MySQL. Silahkan kalian eksplorasi lebih dalam lagi tentang kombinasi QUERY yang bisa kalian gunakan untuk menyelesaikan beberapa studi kasus yang sering terjadi di kehidupan sehari hari.
Cukup sekian pembahasan kali ini, semoga bisa menjadi bahan belajar untuk kita semua. Sampai jumpa di postingan selanjutnya, Terimakasih ...
0 Response to "MySQL - 19 - LIMIT (Menampilkan Beberapa Data)"
Post a Comment