Announcement

Collapse
No announcement yet.

auswahl zeitlich sortieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • auswahl zeitlich sortieren

    Hallo,
    ich greife auf eine Datenbank zu, welche Messwerte speichert. Die Messwerte werden in unterschiedlichen Zeitintervallen abgelegt. Für jeden Messwert kann die Messquelle durch das Feld datasource_id identifiziert werden. Anhand dieser datasource_id mache ich eine Auswahl der Zeilen meiner Tabelle. Zu jedem Messwert besteht auch ein Zeitstempel (timestamp). Anhand dieses Zeitstempels möchte ich nur den letzten Messwert für jede einzelne Messquelle auswählen. In value ist der Messwert hinterlegt.

    Würden die Messwerte alle mit dem gleichen Zeitintervall abgelegt, könnte ich mit

    select datasource_id, timestamp, value from data where datasource_id in (1, 2, 3, 4, 5) order by timestamp desc limit 5;

    die zeitlich zuletzt eingefügten Messwerte erhalten. Wie kann ich sicherstellen, dass ich für jeden Messwert aus einer Messquelle den letzten Wert erhalte?

    Vielen Dank für Eure Hilfe!

  • #2
    [HIGHLIGHT="SQL"]SELECT Data.datasource_id
    , Data.timestamp
    , Data.value
    FROM ( SELECT datasource_id
    , MAX (timestamp) AS LastDate
    FROM data
    WHERE datasource_id in (1, 2, 3, 4, 5)
    GROUP BY datasource_id
    ) AS Dates
    JOIN Data ON Data.Datasource_ID = Dates.datasource_id
    AND Data.Timestamp = Dates.LastDate[/HIGHLIGHT]
    und Formatierung von SQL in Beiträgen

    Comment

    Working...
    X