Thema: SELECT: immer nur neuesten Datensatz einer Gruppe auswählen.

hallo ich speichere für einen shop in einer tabelle die status-history. gibt also eine eindeutige id, einer orders_id, die sich auf die betsellung bezieht, die status_id sowie datetime des eintrags. da auch zwischen statis hin- und hergewechselt kann, möchte ich, dass für jeden status einer bestellung immer nur die letzte änderung ausgewählt wird, Beipiel:

id, orders_id, status_id, datetime

2,3,5,2005-05-14
1,3,4,2005-05-15
3,3,4,2005-05-17*
4,3,5,2005-05-18*

da sollen jeweils nur die markierten ausgewählt werden, also für eine mit gleicher orders_id und status_id immer nur der letzte/neueste.


wer kann helfen?

Re: SELECT: immer nur neuesten Datensatz einer Gruppe auswählen.

Hallo,

ich würde das in MySQL so machen, dass ich alle Datensätze sortiert nach Datum abfrage und nur diejenigen ausgebe / weiterverarbeite, von denen das entsprechende Id-Paar noch nicht ausgegeben / verarbeitet wurde (Vergleich über Array).

Das ist zwar sicherlich nicht die beste Lösung, aber eine andere fällt mir im Moment nicht ein...

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

3

Re: SELECT: immer nur neuesten Datensatz einer Gruppe auswählen.

So ganz habe ich Deine Frage zwar nicht verstanden. Was meinst Du mit den jeweils markierten? Ein SQL-Statement könnte wie folgt aussehen:

-- Allgemeine Abfrage
SELECT * FROM tabellen_name ORDER BY datetime DESC

-- Abfrage mit einer Bedingung
SELECT * FROM tabellen_name WHERE deine_bedingung ORDER BY datetime DESC

-- Abfrage mit einer Bedingung, Bsp.
SELECT * FROM tabellen_name WHERE order_id <> status_id ORDER BY datetime DESC
_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

Re: SELECT: immer nur neuesten Datensatz einer Gruppe auswählen.

Hallo j|g!

Was meinst Du mit den jeweils markierten?

Die entsprechenden Datensätze sind oben mit einem Sternchen markiert.

Es geht darum, von einem bestimmten Typ (hier: Kombination zweier Felder) jeweils den aktuellsten Eintrag anzuzeigen.

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”