Odaberite najnoviji zapis prema datumu u SQL-u

Odaberite Najnoviji Zapis Prema Datumu U Sql U



Kada radite u SQL bazi podataka, možete naići na instancu u kojoj trebate dohvatiti najnoviji zapis iz dane tablice na temelju datuma. To može biti za označavanje stranica, upravljanje zalihama, u svrhu praćenja itd.

U ovom vodiču provest ćemo vas kroz različite metode i tehnike koje možemo koristiti za odabir najnovijeg zapisa iz tablice na temelju datuma.

Uzorak podataka

U svrhu demonstracije koristimo Sakila uzorak baze podataka koji je dostupan za MySQL i PostgreSQL verzije.







Slobodno preuzmite i uvezite oglednu bazu podataka na svoj poslužitelj. Također možete koristiti bilo koji drugi skup podataka prema potrebi.



Primjer 1: ORDER BY

Najosnovnija i najjednostavnija metoda koju možemo koristiti za dohvaćanje najnovijeg zapisa prema datumu je korištenje SQL klauzule ORDER BY.



Zapise možemo poredati silaznim redoslijedom na temelju vrijednosti datuma, a zatim ograničiti rezultat na samo jedan redak.





Uzmimo za primjer tablicu za najam iz uzorka baze podataka Sakila. Sadrži stupac 'rental_date' koji označava datum na koji je film iznajmljen.

Ovo možemo iskoristiti da pokažemo kako koristiti klauzulu ORDER BY za dohvaćanje najnovijeg zapisa iz tablice.



IZABERI *

OD najma

NARUDŽBA PREMA rental_date DESC

OGRANIČITI 1 ;

U ovom slučaju koristimo klauzulu ORDER BY i prosljeđujemo 'rental_date' kao ciljni stupac. Također osiguravamo da kažemo bazi podataka da rasporedi zapise silaznim redoslijedom.

Konačno, također ograničavamo broj izlaznih zapisa koji bi trebali vratiti najnoviji red iz tablice.

Primjer 2: Korištenje funkcije Max().

Jeste li znali da možemo koristiti funkciju max() za datumske vrijednosti? Da, možemo koristiti jednostavan SQL podupit i funkciju max() na datumskim vrijednostima za dohvaćanje najnovijeg zapisa iz dane tablice.

Razmotrite sljedeći primjer:

IZABERI *

OD najma

WHERE datum_iznajmljivanja = (SELECT MAX(datum_iznajmljivanja) FROM najam);

Pomoću podupita nalazi se maksimalni datum najma iz tablice. U glavnom upitu trebali bismo dohvatiti zapise s 'rental_date' jednakim maksimalnom datumu.

Primjer 3: Funkcije prozora

Za baze podataka koje podržavaju funkcije prozora, možemo koristiti podupit i funkciju row_number() za dohvaćanje najnovijeg zapisa iz tablice na sljedeći način:

IZABERI *

OD (

IZABERI *,

ROW_NUMBER() PREKO ( NARUDŽBA PO rental_date DESC) AS rn

OD najma

) AS podupit

GDJE rn = 1 ;

U navedenom primjeru podupit dodjeljuje broj retka svakom retku na temelju stupca 'rental_date' silaznim redoslijedom pomoću prozorske funkcije ROW_NUMBER().

Vanjski upit tada odabire sve stupce iz podupita gdje je broj retka 1, čime se zapravo odabiru najnoviji zapisi o najmu.

Zaključak

U ovom smo postu istražili različite metode i tehnike koje možemo koristiti za dohvaćanje najnovijeg zapisa na temelju datuma.