Mailinglisten-Archive |
Hallo Reinhold, Zitiere Reinhold Jordan <r.jordan at asc.de>: > ich suche für folgende Tabelle einen Select: > CREATE TABLE `traffic_eth` ( > `timestamp` timestamp(14) NOT NULL, > `receive` int(11) NOT NULL default '0', > `transmit` int(11) NOT NULL default '0', > PRIMARY KEY (`timestamp`) > ) TYPE=MyISAM; > > Und zwar hätte ich gerne sowas wie das hier: > select timestamp, (receive-letztem_receive), > (transmit-letztem_transmit) from traffic_eth > > Geht das ohne großen Aufwand? Ich denke, das Problem wird > sein, daß der Abstand zwischen den timstamps nicht immer > exact gleich sind. Wenn es mit einer Abfrage gehen soll, dann nur über ein passendes Join auf der Tabelle selbst... aber das ist kompliziert, wenn es überhaupt geht. Ich würde eine temporäre Tabelle anlegen, die Datensätze nach timestamp sortiert und mit fortlaufender ID eintragen. (Spalte: id INT NOT NULL DEFAULT NULL AUTOINCREMENT) Dann kannst Du ganz einfach von Zeitpunkt t zum vorigen gehen, indem Du einfach ID-1 nimmst. Das Select auf dem Temp-Table ist dann quasi so, wie Du es schon angedeutet hast. Die fortlaufenden ID in die Tabelle selbst einzufügen ginge auch - nur müssen die wirklich fortlaufend sein, auch wenn mal eine Zeile gelöscht oder der timestamp nicht der Reihe nach eingefügt wird. In der Praxis also lieber die Lösung mit dem Temp-Table. Grüße, Christoph Weißenborn -- Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7 email auch: chw- at gmx.de / mai01dzr at ... -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive