Mailinglisten-Archive |
Norbert Pfeiffer schrieb: > Hi, > > so ganz richtig bringt es WITH ROLLUP leider nicht > +-----+-----+--------+-------+ > | Id | Anz | Cash | Saldo | > +-----+-----+--------+-------+ > | 17 | 3 | 18.97 | 0 | > | 27 | 2 | 51.98 | 0 | > | 33 | 3 | 41.09 | 0 | > |NULL | 8 | 112.04 | 0 | > +-----+-----+--------+-------+ > 4 rows in set (0.01 sec) > > Die gewuenschte Anzeige waere eigentlich: > +-----+-----+--------+--------+ > | Id | Anz | Cash | Saldo | > +-----+-----+--------+--------+ > | 17 | 3 | 18.97 | 18.97 | > | 27 | 2 | 51.98 | 70.95 | > | 33 | 3 | 41.09 | 112.04 | > +-----+-----+--------+--------+ ja, das hatte ich ja dann auch schon bemerkt, in der gefolgten Email. > Ausserdem kommt hinzu, dass auf der Entwicklungsmaschine > MySQL 4.1.7 laeuft, aber der Produktivserver noch mit > MySQL 4.0.irgendwas rummacht ... > Man ist ja schon froh, dass es nicht 3.*.* ist ... ;-) das heißt die Sache mit dem Subquery hilft dir also auch nicht wirklich weiter ... das wird dir dann wahrscheinlich auch nicht wirklich weiterhelfen: SELECT gekauft.usr_id AS Id, gekauft.gekauft AS Cash, SUM(t2.gekauft) AS Saldo FROM gekauft LEFT JOIN gekauft AS t2 ON t2.ver_id <= gekauft.ver_id AND t2.usr_id <= gekauft.usr_id GROUP BY gekauft.ver_id ORDER BY gekauft.usr_id, gekauft.ver_id; mhm, naja mit 4.1 und 5.0 wäre alles so viel einfacher ... ;-) oder du verwendest eine temporäre Tabelle, dann hättest du dein Ergebnis so wie du willst auch mit 4.0 - einfach obige Abfrage in die tmep. Tabelle schieben und daraus dann SELECT id, COUNT(*), SUM(cash), MAX(saldo) FROM table GROUP BY id -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive