jorgosql
Goto Top

Abfrage: tägliche Daten, jedoch nur die jüngsten eines Tages

Hallo,

könnt ihr mir bitte bei meiner Herausforderung (Probleme gibt es ja nicht) helfen?

Ich habe eine Abfrage in SQL erstellt, die für die eine Übersicht von täglich generierten Daten erzeugt.
Die täglich generierten Daten werden i. d. R. 1x pro Tag erstellt. Es kann jedoch auch vorkommen, dass an einem Tag zwei Auswertungen erstellt wurden. In diesen Fällen werden beide Auswertungen (selbes Datum, unterschiedliche Uhrzeit)
in meine Übersicht (Abfrage) berücksichtigt. Das soll aber nicht.

Meine Abfrage soll an jedem Tag nur die zuletzt erzeugten Daten berücksichtigen.
Wisst ihr hier weiter?

Code:

SELECT
max (datum) as MaxDat
, AnzahlKFZ
, Monatsbezug


WHERE MaxDat >= '01.01.2022


ORDER BY MaxDat DESC

Gibt es überhaupt eine Lösung hierzu?

Content-ID: 7231488476

Url: https://administrator.de/contentid/7231488476

Ausgedruckt am: 19.11.2024 um 03:11 Uhr

Nebellicht
Nebellicht 12.04.2024 um 09:37:12 Uhr
Goto Top
Lass die Abfrage nach dem Datum konkret suchen und nehm den ersten Wert in der Spalte (mit First und Last).
Das geht bestimmt auch anders... Gruß nbll
Cujio1
Lösung Cujio1 12.04.2024 um 09:44:07 Uhr
Goto Top
WITH RankedData AS (
    SELECT
        datum,
        AnzahlKFZ,
        Monatsbezug,
        ROW_NUMBER() OVER (PARTITION BY CAST(datum AS DATE) ORDER BY datum DESC) AS RowNum
    FROM
        deine_tabelle
    WHERE
        datum >= '2022-01-01'  
)
SELECT
    datum,
    AnzahlKFZ,
    Monatsbezug
FROM
    RankedData
WHERE
    RowNum = 1
ORDER BY
    datum DESC;
JorgoSQL
Lösung JorgoSQL 12.04.2024 um 10:29:05 Uhr
Goto Top
Danke Cujio1,

das scheint mir der richtig Weg zu sein. Nur bekomme ich die Fehlermeldung: Der mehrteilige Bezeichner der Zeilen 13 - 15 nicht gebunden werden konnten.
JorgoSQL
JorgoSQL 12.04.2024 um 11:05:24 Uhr
Goto Top
Moin Cujio1,

es hat geklappt.

SELECT
rankeddata.datum,
rankeddata.AnzahlKFZ,
rankeddata.Monatsbezug
FROM
rankeddata.RankedData