Middle
Hogyan jeleníthetjük meg az aktuális címet és árat minden hirdetéshez SQL-ben?
sobes.tech MI
Válasz az MI-től
Az aktuális cím és ár megjelenítéséhez SQL-ben meg kell határozni, hogy mit jelent az, hogy "aktuális" — általában az utolsó rekord dátum vagy verzió szerint minden hirdetés esetében.
Tegyük fel, hogy van egy ads nevű tábla, amelyben a következő oszlopok vannak: ad_id, address, price, updated_at.
Példa lekérdezés, amely minden hirdetéshez kiválasztja a legfrissebb frissítési dátummal rendelkező rekordot:
SELECT ad_id, address, price
FROM ads a
WHERE updated_at = (
SELECT MAX(updated_at)
FROM ads
WHERE ad_id = a.ad_id
);
Ha az adatbázis támogatja az ablakfüggvényeket, akkor használhatja:
SELECT ad_id, address, price
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY ad_id ORDER BY updated_at DESC) as rn
FROM ads
) sub
WHERE rn = 1;
Ez lehetővé teszi, hogy minden hirdetéshez a legfrissebb címet és árat kapja meg.