Middle
Wie zeigt man die aktuelle Adresse und den Preis für jede Anzeige in SQL an?
sobes.tech KI
Antwort von AI
Um die aktuelle Adresse und den Preis für jede Anzeige in SQL auszugeben, muss definiert werden, was "aktuell" bedeutet — in der Regel ist es der letzte Eintrag nach Datum oder Version für jede Anzeige.
Angenommen, es gibt eine Tabelle ads mit den Spalten: ad_id, address, price, updated_at.
Beispielabfrage, die für jede Anzeige den Datensatz mit dem maximalen Aktualisierungsdatum auswählt:
SELECT ad_id, address, price
FROM ads a
WHERE updated_at = (
SELECT MAX(updated_at)
FROM ads
WHERE ad_id = a.ad_id
);
Wenn die Datenbank Fensterfunktionen unterstützt, kann man verwenden:
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;
Dies ermöglicht es, für jede Anzeige die aktuellste Adresse und den Preis zu erhalten.