Valige SQL-is kõige värskem kirje kuupäeva järgi

Valige Sql Is Koige Varskem Kirje Kuupaeva Jargi



SQL-andmebaasis töötades võite kohata juhtumeid, kus peate kuupäeva alusel tooma antud tabelist viimase kirje. See võib olla lehekülgede otsimiseks, varude haldamiseks, jälgimiseks jne.

Selles juhendis tutvustame teile erinevaid meetodeid ja tehnikaid, mida saame kasutada kuupäeva alusel tabelist uusima kirje valimiseks.

Näidisandmed

Demonstreerimiseks kasutame Sakila näidisandmebaasi, mis on saadaval MySQL ja PostgreSQL maitsete jaoks.







Laadige näidisandmebaas alla ja importige oma serverisse. Vajadusel saate kasutada ka mis tahes muud andmestikku.



Näide 1: TELLI

Kõige elementaarsem ja lihtsaim meetod, mida saame kasutada viimase kirje toomiseks kuupäeva järgi, on SQL-i ORDER BY klausli kasutamine.



Saame kirjed järjestada kahanevas järjekorras, lähtudes kuupäeva väärtusest ja seejärel piirata tulemuse ühe reaga.





Võtame näiteks Sakila näidisandmebaasist laenutabeli. See sisaldab veergu „rental_date”, mis tähistab filmi laenutamise kuupäeva.

Seda saame kasutada selleks, et näidata, kuidas kasutada ORDER BY klauslit, et tuua tabelist uusim kirje.



VALI *

ALATES rentimisest

TELLI Rental_date DESC

LIIT 1 ;

Sel juhul kasutame klauslit ORDER BY ja edastame sihtveerguks „rental_date”. Samuti anname andmebaasile käsu kirjed järjestada kahanevas järjekorras.

Lõpuks piirame ka väljundkirjete arvu, mis peaksid tagastama tabelist viimase rea.

Näide 2: Funktsiooni Max() kasutamine

Kas teadsite, et saame kuupäeva väärtuste puhul kasutada funktsiooni max()? Jah, me saame kasutada lihtsat SQL-i alampäringut ja funktsiooni max() kuupäevaväärtuste puhul, et tuua antud tabelist uusim kirje.

Kaaluge järgmist näidet:

VALI *

ALATES rentimisest

WHERE rentimise_kuupäev = (SELECT MAX(rent_date) FROM rent);

Alampäringu abil leitakse tabelist maksimaalne laenutuskuupäev. Põhipäringus peaksime tooma kirjed, mille väärtus 'rental_date' on võrdne maksimaalse kuupäevaga.

Näide 3: Aknafunktsioonid

Aknafunktsioone toetavate andmebaaside puhul saame kasutada alampäringut ja funktsiooni row_number(), et hankida tabelist uusim kirje järgmiselt:

VALI *

FROM (

VALI *,

ROW_NUMBER() LÄBES ( TELLI BY rental_date DESC) AS rn

ALATES rentimisest

) AS-i alampäring

KUS rn = 1 ;

Antud näites määrab alampäring igale reale rea numbri, tuginedes veerule „rental_date” kahanevas järjekorras, kasutades akna funktsiooni ROW_NUMBER().

Seejärel valib välimine päring alampäringust kõik veerud, kus rea number on 1, valides tõhusalt uusimad rendikirje(d).

Järeldus

Selles postituses uurisime erinevaid meetodeid ja tehnikaid, mida saame kasutada kuupäeva alusel uusima kirje hankimiseks.