Ich hoffe, jemand kann mir dabei helfen.SQL - Holen Sie mehr Daten mit einer GROUP BY
Lets sagen, dass ich eine Tabelle mit 4 Spalten genannt incoming_data:
primary_key_id
serial_number
counter
selected_color
ich Daten aus einer Quelle erhalten, die diese Tabelle füllt. Der Primärschlüssel hat seine Identität eingeschaltet, so dass es nicht wiederholt wird. Ich erhalte doppelte Seriennummern mit verschiedenen ausgewählten Farben.
Der Zähler steigt ständig von dem Gerät.
Also was ich tun möchte ist, wählen Sie alle Daten, die ich heute erhielt, gruppieren Sie die Daten nach Seriennummer und nur den Datensatz mit dem höchsten Zählerwert.
Ganz einfach:
SELECT serial_number, MAX(counter)
FROM incoming_data
GROUP BY serial number
Das funktioniert perfekt, außer, dass ich will etwas mit der Farbinformation tun , die ich erhalten.
Wenn ich Farbe zu der Auswahl hinzufügen, dann bekomme ich alle Datensätze, da alle die Farben, die ich an diesem Tag erhielt, unterschiedlich sind. Das wird nicht funktionieren.
Wenn ich die primary_key_id des Datensatzes bekommen konnte dann konnte ich nur Abfrage für die Farbe, aber das funktioniert auch nicht, da jeder primary_key_id Wert unterscheidet ich sie alle.
Irgendwelche Vorschläge zu einer besseren Technik dafür?
Danke!
Was ist Ihr RDBMS? – Sung