MySQL: Datensätze gruppieren und neuste Änderung anzeigen

mdsmds

Grünschnabel
Hallo Zusammen,

Habe schon unzählige Beiträge gewälzt, aber nirgends was gefunden...

Ich habe ein Preispflegeformular, mit dem ich Preise und Merkmale in einer Tabelle ablege.
Jeder Datensatz wird fortlaufend mit einer Änderungsnummer versehen.

Die Kombination aus "Tour" und "Hotelklasse" mit der höchsten Änderungsnummer kennzeichnet den aktuellsten Datensatz
(Dauer,Preise,Einzelzimmerzuschläge können sich ändern, Tour und Hotelklasse sind immer miteinander gekoppelt)


Ausgangstabelle

Tour | Hotelklasse | Dauer | Preis | Einzelzimmerzuschlag | Änderungsnummer
TourA | Budget | 10 | 1050 | 50 | 1
TourA | Budget | 10 | 1050 | 60 | 2
TourA | Mittel | 10 | 1150 | 80 | 3
TourA | Mittel | 10 | 1150 | 90 | 4
TourA | Ober | 10 | 1250 | 90 | 5


Angezeigt werden sollte

TourA | Budget | 10 | 1050 | 60 | 2
TourA | Mittel | 10 | 1150 | 90 | 4
TourA | Ober | 10 | 1250 | 90 | 5


NICHT angezeigt sollen, da wegen Änderungsnummer veraltet

TourA | Budget | 10 | 1050 | 50 | 1
TourA | Mittel | 10 | 1150 | 80 | 3

Hat jemand nen Tip wie ich das hinbekomme?

Danke

Grüße
Alexandra
 
Sorry, um 2 Uhr Nachts war der Geist und die Augen wohl nicht mehr so fit...

Danke für die Antwort

Folgende Abfrage wurde jetzt draus:

SELECT
p.Tour, p.Preis, p.Dauer, p.Hotelklasse, p.Einzelzimmerzuschlag, p.Fortbewegung, p.Schwierigkeit
FROM
#__preise AS p
WHERE
(p.Tour, p.Hotelklasse, p.Änderungsnummer)
IN (
SELECT
Tour,
Hotelklasse,
MAX(Änderungsnummer) AS max_Änderungsnummer
FROM
#__preise
WHERE p.Tour = 'Tour A: Äthiopische Stämme'
GROUP BY
Tour,
Hotelklasse
);
 
blöde frage, ich hab so etwas auch oft aber ich mach es immer mit "von" und "bis" Felder.

Der aktuelle Datensatz bekommt den Zeitstempel 9999-12-31

meine Frage ist jetzt, ist es besser es mit Nummern oder nur mit einem Datum zu lösen? somit würde ich mir 1 Feld in der DB ersparen habe aber eine Gruppierung in meinem Statement anstatt nur einer where clause?

@Yaslaw was ist besser bzw. performanter?
 
Mit von-bis ist wahrscheinlich schneller. Aber auch gefärderter auf Dateninkosistenz. Einmal ein Update nicht sauber durchgeführt und du bekommst mehrere Datensätze mit der Abfrage oder du hast Löcher in den Daten
 
Zurück