Matti Mäkitalo: Summenbildung in Gruppen

Beitrag lesen

Hi,

Mehrere Maschinen können zusammengehören, sagen wir A und C.
Was ich jetzt haben möchte ist eine Liste aller Zeitpunkte von A und C, mit der jeweiligen Gesamtsumme.

Also das hier
00:00 - Gruppe AC - 5
00:10 - Gruppe AC - 7
00:12 - Gruppe B  - 3
00:16 - Gruppe AC - 11 (nämlich die letzten 7 von A und die aktuellen 4 von C)
00:27 - Gruppe AC - 16
00:28 - Gruppe AC - 20 (die letzten 12 von A und die aktuellen von C)
00:30 - Gruppe B  - 9

Mit der Summierung hab ich ein Problem. Ich weiß nicht ob das per SQL geht und auch als Code hab ich bisher nur ziemlich wilde Konstrukte im Kopf. Wenns einfacher geht wär schön.
Hat da jemand einen Ansatz?

DB ist übrigens MySql, falls da mir da doch irgendwas brauchbares entgangen ist.

du kannst auch nach mehreren Kriterien gruppieren, und ein Gruppierungskriterium kann auch ein Ausdruck sein.

Z.B. könntest du nach IF(machine IN ('A', 'B'), 'AC', machine) gruppieren.

SELECT mydate, IF(machine IN ('A', 'B'), 'AC', machine) AS machine_grp, SUM(mysum)  
FROM mytbl  
GROUP BY mydate, IF(machine IN ('A', 'B'), 'AC', machine)  

~~~.  
  
Bis die Tage,  
Matti

-- 
[Webapplikationen in C++ entwickeln](http://tntnet.org/)