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

Printed on: December 10, 2024 at 15:12 o'clock

Nebellicht
Nebellicht Apr 12, 2024 at 07:37:12 (UTC)
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
Solution Cujio1 Apr 12, 2024 at 07:44:07 (UTC)
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
Solution JorgoSQL Apr 12, 2024 at 08:29:05 (UTC)
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 Apr 12, 2024 at 09:05:24 (UTC)
Goto Top
Moin Cujio1,

es hat geklappt.

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