Pilih Rekod Terkini mengikut Tarikh dalam SQL

Pilih Rekod Terkini Mengikut Tarikh Dalam Sql



Apabila bekerja dalam pangkalan data SQL, anda mungkin menjumpai contoh di mana anda perlu mendapatkan semula rekod terkini daripada jadual yang diberikan berdasarkan tarikh. Ini boleh untuk penomboran, pengurusan inventori, tujuan pemantauan, dll.

Dalam panduan ini, kami akan membimbing anda melalui pelbagai kaedah dan teknik yang boleh kami gunakan untuk memilih rekod terkini daripada jadual berdasarkan tarikh.

Data Sampel

Untuk tujuan demonstrasi, kami menggunakan pangkalan data sampel Sakila yang tersedia untuk perisa MySQL dan PostgreSQL.







Jangan ragu untuk memuat turun dan mengimport pangkalan data sampel pada pelayan anda. Anda juga boleh menggunakan mana-mana set data lain mengikut kesesuaian.



Contoh 1: PESANAN OLEH

Kaedah paling asas dan paling mudah yang boleh kita gunakan untuk mendapatkan semula rekod terkini mengikut tarikh ialah menggunakan klausa SQL ORDER BY.



Kita boleh memesan rekod dalam susunan menurun berdasarkan nilai tarikh dan kemudian mengehadkan hasilnya kepada hanya satu baris.





Ambil contoh jadual sewa daripada pangkalan data sampel Sakila. Ia mengandungi lajur 'tarikh_sewa' yang menunjukkan tarikh filem disewa.

Kita boleh menggunakan ini untuk menunjukkan cara menggunakan klausa ORDER BY untuk mendapatkan semula rekod terkini daripada jadual.



PILIH *

DARI sewa

PESANAN MENGIKUT tarikh_sewaan DESC

HAD 1 ;

Dalam kes ini, kami menggunakan klausa ORDER BY dan lulus 'rental_date' sebagai lajur sasaran. Kami juga memastikan untuk memberitahu pangkalan data untuk memesan rekod dalam susunan menurun.

Akhir sekali, kami juga mengehadkan bilangan rekod keluaran yang sepatutnya mengembalikan baris terbaharu daripada jadual.

Contoh 2: Menggunakan Fungsi Max()

Adakah anda tahu bahawa kita boleh menggunakan fungsi max() pada nilai tarikh? Ya, kita boleh menggunakan subquery SQL mudah dan fungsi max() pada nilai tarikh untuk mendapatkan semula rekod terkini daripada jadual tertentu.

Pertimbangkan contoh berikut:

PILIH *

DARI sewa

WHERE tarikh_sewa = (PILIH MAX(tarikh_sewa) DARI sewa);

Menggunakan subquery mencari tarikh sewa maksimum daripada jadual. Dalam pertanyaan utama, kita harus mengambil rekod dengan 'tarikh_sewa' bersamaan dengan tarikh maksimum.

Contoh 3: Fungsi Tetingkap

Untuk pangkalan data yang menyokong fungsi tetingkap, kita boleh menggunakan fungsi subquery dan row_number() untuk mendapatkan semula rekod terkini daripada jadual seperti berikut:

PILIH *

DARI (

PILIH *,

ROW_NUMBER() LEBIH ( PESANAN MENGIKUT tarikh_sewaan DESC) SEBAGAI rn

DARI sewa

) AS subquery

DI MANA rn = 1 ;

Dalam contoh yang diberikan, subkueri memberikan nombor baris pada setiap baris berdasarkan lajur 'rental_date' dalam tertib menurun menggunakan fungsi tetingkap ROW_NUMBER().

Pertanyaan luar kemudian memilih semua lajur daripada subkueri dengan nombor baris ialah 1, dengan berkesan memilih rekod sewaan terkini.

Kesimpulan

Dalam siaran ini, kami meneroka pelbagai kaedah dan teknik yang boleh kami gunakan untuk mengambil rekod terkini berdasarkan tarikh.