phpbar.de logo

Mailinglisten-Archive

Summenfunktion

Summenfunktion

Sebastian Mendel lists at sebastianmendel.de
Mit Aug 18 11:33:52 CEST 2004


echnaton schrieb:

>>ich hab ein problem bei der berechnung einer summe.
>>meine datenbank enthält z.B 2 Spalten eine Spalte Benutzer_id und eine
>>Spalte Punkte.
>>z.B
>>1	10
>>2	6
>>1	7
>>2	2
>>3	0
>>4	5
>>usw. also jede benutzer_id hat verschiedene Anzahl von Punkten. nun möchte
>>ich die summe der besten 8 Punkte jeder benutzer_id berechnen.
> 
> hier ein Vorschlag ohne Sub-Selects, aber dafür leider mit temp-Tabellen:
> 
> [...]
> 
> Leider ist mir nichts Kürzeres eingefallen. Kann 
> auch leider momentan nicht testen. Vielleicht 
> hilft's ja trotzdem...

aber mir ...

CREATE TEMPORARY TABLE `temptable` (
     `benutzer_id` BIGINT,
     `punkte_id` BIGINT NOT NULL AUTO_INCREMENT,
     PRIMARY KEY (`benutzer_id`, `punkte_id`) )
    SELECT `benutzer_id`,
           `punkte`
      FROM `tbl_ergebnisse`
  ORDER BY `punkte` DESC;

Das ist _ein_ Query!

   SELECT `benutzer_id`,
          SUM(`punkte`) AS `punkte`
     FROM `temptable`
    WHERE `punkte_id` <= 8
GROUP BY `benutzer_id`;

habs aber nicht probiert ...

mit Variablen lässt sich das vielleicht auch in einem Query und ohne 
Temp-Tabellen lösen ...


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
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