den Datensatz mit DeviceID, ValueID und höchster UnixTime
Hallo, bin neu hier und habe ein Problem mit einer Abfrage:
Ich habe eine Tabelle mit folgenden Spalten: Id, unixtime, id_device, id_messwert, messwert bedeutet von verschiedenen Messgeräten werden Messwerte in die Tabelle eingetragen. Nun habe ich den OPC-Server so pgrogrammiert, dass er nur einen Wert einträgt, wenn er sich zum vorherigen Wert geändert hat. Sprich die Tabelle könnte nach 7 Datensätzen z.Bsp so aussehen: id unixtime id_device id_messwert messwert 1 100 7 1 0.2 2 100 7 2 0.3 3 100 7 3 0.4 4 160 7 1 0.5 5 160 7 2 0.6 6 220 7 2 0.7 7 280 7 2 0.8 Nun möchte ich mit einer Abfrage den letzten Datensatz für id_device=7 und id_messwert=1, id_device=7 und id_messwert=2 und id_device=7 und id_messwert=3 sprich (ergebnis): id unixtime id_device id_messwert messwert 4 160 7 1 0.5 7 280 7 2 0.8 3 100 7 3 0.4 am liebsten auch geordnet nach id_messwert .p sämtliche distinct, group by, order by kombinationen und joins mit tabelle selbst habe ich getestet, aber entwerder ich bekomme die ersten anstatt die letzten datensätze oder nicht sortiert oder oder oder.... :/ hoffe einer von euch kann mir iwie weiterhelfen vielen dank gruss, phoo NACHTRAG: glaube ich habs ^^ allerdings falschrum sortiert, aber das egal, da ich die daten mit php+for-loop ausgeben werde SELECT * from measurements where id_device=7 GROUP BY id_messwert DESC; |
AW: den Datensatz mit DeviceID, ValueID und höchster UnixTime
Hi
Zitat:
Du brauchst ne Kombination aus JOIN und GROUP mfg CKaos |
AW: den Datensatz mit DeviceID, ValueID und höchster UnixTime
Mein Vorschlag sieht mal so aus:
Code:
CREATE TABLE measurements ( Thomas |
AW: den Datensatz mit DeviceID, ValueID und höchster UnixTime
thx für die schnellen antworten .p
also ich glaube mit meiner abfrage geht es auch, nur dass es halt in descendant order ausgegeben wird. sprich er geht die tabelle von hinten durch, und nimmt jeweils den ersten datensatz den er findet zu einem bestimmten id_messwert (ist ja dann praktisch der letzte eingetragene) aber ich muss zugeben, ich hab es nur mit einem referenzwert getestet der vorher falsch war (vorher der erste eingetragene) ich werde morgen auf arbeit gleich mal eure abfrage testen ^^ dann ist es auch direkt in ascendent-order .p thx nochmal |
AW: den Datensatz mit DeviceID, ValueID und höchster UnixTime
Hi
einer von uns beiden ist auf dem Holzweg. Zitat:
DESC bestimmt die Ausgabe nicht die Abarbeitung. mfg CKaos |
AW: den Datensatz mit DeviceID, ValueID und höchster UnixTime
Was für ein schöner Zufall. Ich bin vorhin im Prinzip auf das gleiche Problem wie Phoo gestoßen. Danke Thomas für deinen Beitrag, dieser hat mich zur Lösung meines Problems gebracht :)
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:31:36 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.