Pilih Catatan Terbaru berdasarkan Tanggal di SQL

Pilih Catatan Terbaru Berdasarkan Tanggal Di Sql



Saat bekerja dalam database SQL, Anda mungkin menemukan contoh di mana Anda perlu mengambil catatan terbaru dari tabel tertentu berdasarkan tanggal. Ini bisa untuk penomoran halaman, manajemen inventaris, tujuan pemantauan, dll.

Dalam panduan ini, kami akan memandu Anda melalui berbagai metode dan teknik yang dapat kami gunakan untuk memilih catatan terbaru dari tabel berdasarkan tanggal.

Contoh data

Untuk tujuan demonstrasi, kami menggunakan contoh database Sakila yang tersedia untuk varian MySQL dan PostgreSQL.







Jangan ragu untuk mengunduh dan mengimpor database sampel di server Anda. Anda juga dapat menggunakan kumpulan data lain yang sesuai.



Contoh 1: DIPESAN OLEH

Metode paling dasar dan paling sederhana yang dapat kita gunakan untuk mengambil catatan terbaru berdasarkan tanggal adalah dengan menggunakan klausa SQL ORDER BY.



Kita dapat mengurutkan catatan dalam urutan menurun berdasarkan nilai tanggal dan kemudian membatasi hasilnya hanya pada satu baris.





Ambil contoh tabel rental dari database sampel Sakila. Ini berisi kolom “rental_date” yang menunjukkan tanggal film disewa.

Kita dapat menggunakan ini untuk mendemonstrasikan cara menggunakan klausa ORDER BY untuk mengambil catatan terbaru dari tabel.



PILIH *

DARI sewa

MEMESAN OLEH tanggal_sewa DESC

MEMBATASI 1 ;

Dalam hal ini, kami menggunakan klausa ORDER BY dan meneruskan “rental_date” sebagai kolom target. Kami juga memastikan untuk memberi tahu database untuk mengurutkan catatan dalam urutan menurun.

Terakhir, kami juga membatasi jumlah rekaman keluaran yang harus mengembalikan baris terbaru dari tabel.

Contoh 2: Menggunakan Fungsi Max()

Tahukah Anda bahwa kita dapat menggunakan fungsi max() pada nilai tanggal? Ya, kita bisa menggunakan subkueri SQL sederhana dan fungsi max() pada nilai tanggal untuk mengambil catatan terbaru dari tabel tertentu.

Perhatikan contoh berikut:

PILIH *

DARI sewa

WHERE tanggal_sewa = (PILIH MAKS(tanggal_sewa) DARI tanggal sewa);

Menggunakan subkueri menemukan tanggal sewa maksimum dari tabel. Dalam kueri utama, kita harus mengambil catatan dengan “rental_date” yang sama dengan tanggal maksimum.

Contoh 3: Fungsi Jendela

Untuk database yang mendukung fungsi jendela, kita dapat menggunakan fungsi subquery dan row_number() untuk mengambil record terbaru dari tabel sebagai berikut:

PILIH *

DARI (

PILIH *,

ROW_NUMBER() LEBIH DARI ( MEMESAN OLEH tanggal_sewa DESC) AS rn

DARI sewa

) SEBAGAI subkueri

DIMANA rn = 1 ;

Dalam contoh yang diberikan, subkueri menetapkan nomor baris ke setiap baris berdasarkan kolom “rental_date” dalam urutan menurun menggunakan fungsi jendela ROW_NUMBER().

Kueri luar kemudian memilih semua kolom dari subkueri yang nomor barisnya adalah 1, yang secara efektif memilih catatan sewa terbaru.

Kesimpulan

Dalam postingan ini, kita menjelajahi berbagai metode dan teknik yang dapat kita gunakan untuk mengambil record terbaru berdasarkan tanggal.