Válassza ki a legfrissebb rekordot dátum szerint az SQL-ben

Valassza Ki A Legfrissebb Rekordot Datum Szerint Az Sql Ben



Amikor egy SQL-adatbázisban dolgozik, előfordulhat, hogy olyan példával találkozhat, amikor egy adott táblából a dátum alapján kell lekérnie a legutóbbi rekordot. Ez lehet oldalszámozás, leltárkezelés, megfigyelés stb.

Ebben az útmutatóban végigvezetjük a különféle módszereken és technikákon, amelyek segítségével a dátum alapján kiválaszthatjuk a legutóbbi rekordot egy táblázatból.

Minta adat

Demonstrációs célokra a Sakila mintaadatbázist használjuk, amely elérhető a MySQL és PostgreSQL ízekhez.







Nyugodtan töltse le és importálja a mintaadatbázist a szerverére. Szükség szerint bármilyen más adatkészletet is használhat.



1. példa: MEGRENDELÉS

A legalapvetőbb és legegyszerűbb módszer, amellyel a legfrissebb rekordot lekérhetjük dátum szerint, egy SQL ORDER BY záradék használata.



A rekordokat a dátumérték alapján csökkenő sorrendbe rendezhetjük, majd az eredményt csak egy sorra korlátozhatjuk.





Vegyük például a bérleti táblázatot a Sakila mintaadatbázisból. Ez tartalmazza a „rental_date” oszlopot, amely a film kölcsönzésének dátumát jelöli.

Ezzel bemutathatjuk, hogyan használhatjuk az ORDER BY záradékot a legutóbbi rekord lekéréséhez a táblából.



KIVÁLASZTÁS *

bérlettől

RENDELÉS BY rental_date DESC

HATÁR 1 ;

Ebben az esetben az ORDER BY záradékot használjuk, és a „bérlés_dátuma” értéket adjuk meg céloszlopként. Gondoskodunk arról is, hogy közöljük az adatbázissal, hogy a rekordokat csökkenő sorrendben rendezze.

Végül korlátozzuk azon kimeneti rekordok számát is, amelyeknek a tábla legfrissebb sorát kell visszaadniuk.

2. példa: A Max() függvény használata

Tudtad, hogy használhatjuk a max() függvényt a dátumértékeknél? Igen, használhatunk egy egyszerű SQL segédlekérdezést és a max() függvényt a dátumértékeken, hogy lekérjük a legutóbbi rekordot egy adott táblából.

Tekintsük a következő példát:

KIVÁLASZTÁS *

bérlettől

WHERE bérleti_dátum = (SELECT MAX(bérlés_dátum) FROM bérlés);

Az allekérdezés segítségével megkeresi a táblázatból a maximális kölcsönzési dátumot. A fő lekérdezésben azokat a rekordokat kell lekérnünk, amelyeknél a „bérlés_dátuma” megegyezik a maximális dátummal.

3. példa: Ablakfunkciók

Az ablak függvényeket támogató adatbázisok esetén használhatunk egy subquery és row_number() függvényt a legutóbbi rekord lekéréséhez a táblából az alábbiak szerint:

KIVÁLASZTÁS *

TÓL TŐL (

KIVÁLASZTÁS *,

ROW_NUMBER() VÉGE ( RENDELÉS BY rental_date DESC) AS rn

bérlettől

) AS segédlekérdezés

WHERE rn = 1 ;

Az adott példában az allekérdezés minden sorhoz egy sorszámot rendel a „bérlés_dátuma” oszlop alapján, csökkenő sorrendben a ROW_NUMBER() ablakfüggvénnyel.

A külső lekérdezés ezután kiválasztja az összes olyan oszlopot az allekérdezésből, ahol a sorszám 1, így gyakorlatilag kiválasztja a legutóbbi bérleti rekord(oka)t.

Következtetés

Ebben a bejegyzésben feltártuk azokat a különféle módszereket és technikákat, amelyek segítségével lekérhetjük a legfrissebb rekordot egy dátum alapján.