MySQL Datensätze zusammenfassen und addieren

Poisoned

Grünschnabel
Hallo,

ich habe ein paar Datensätze in einer MySQL 4.0.22 Datenbank im MyISAM Format.

Diese sind aufgeteilt in ID | omni | eisen | titan | öl | uran | gold | selenium

eine ausgabe dieser Daten habe ich bereits...

aber in dieser reihe von Daten möchte ich die omni's zusammen fassen da dieser mehrmals identisch vorhanden sind

hier ein beispieldatensatz:
48 101043 503 1421 236 19 16 0
80 101043 1134 277 564 36 29 0
24 101065 205 360 135 106 24 0

die ausgabe sind im moment so aus:
PHP:
$sql = "SELECT * FROM farm";
          $result = mysql_query($sql) OR die(mysql_error());
          if(mysql_num_rows($result)) {
           while($row = mysql_fetch_assoc($result)) {
           echo "<tr>
          	<td>$row[omni]</td>
          	<td></td>
          	<td>$row[eisen]</td>
          	<td>$row[titan]</td>
          	<td>$row[öl]</td>
          	<td>$row[uran]</td>
          	<td>$row[gold]</td>
          	<td>$row[selenium]</td>
            </tr>";

nun möchte ich die omni's wie gesagt zusammenfassen und die werte eisen,titan,öl,uran,gold und selenium der gleichen omni addieren.
und gleichzeitig bei der ausgabe einen counter (angriffe) beim finden jeweils der gleich omni aufaddiert...

so das die ausgabe wie folgt aussieht:

Omni | Angriffe | Eisen | Titan | Öl | Uran | Gold | Selenium
101043 | 2 | 1637 | 1698 | 800 | 55 | 45 | 0
101065 | 1 | 205 | 360 | 135 | 106 | 24 | 0
ich habe schon selber versucht einiges zu scripten und auch mich mit MySQL Befehlen auseinander gesetzt aber nie was passendes gefunden und mir fällt auch nicht ein wie ich das löse...
 
Folgende Abfrage wäre möglich:
Code:
SELECT
        SUM(`Angriffe`) AS `angriffe_summe`,
        SUM(`Eisen`) AS `eisen_summe`,
        SUM(`Titan`) AS `titan_summe`,
        SUM(`Öl`) AS `oel_summe`,
        SUM(`Uran`) AS `uran_summe`,
        SUM(`Gold`) AS `gold_summe`,
        SUM(`Selenium`) AS `selenium_summe`

  FROM
        `farm`

  GROUP BY
        `Omni`
Diese Abfrage summiert die einzelnen Spaltenwerte und gruppiert sie nach Omni.
 
ah danke... habe das ganze mal umgestellt...

da du angriffe dort angegeben hast die addiert werden sollten... aber die angriffe sollten aus der häufigkeit der gleichen omni generiert werden die stehen nicht in der DB

PHP:
"SELECT
  		omni,
  		SUM(eisen) AS eisen,
  		SUM(titan) AS titan,
  		SUM(öl) AS öl,
  		SUM(uran) AS uran,
  		SUM(gold) AS gold,
  		SUM(selenium) AS selenium 
  		FROM
  		farm
  		GROUP BY
  		omni";

soweit klappt das... nur sollten die angriffs anzahl aus den omnis generiert werden wie gesagt... habe da was von count gelesen... aber wie ist das anzugeben...
 
Zuletzt bearbeitet:
Zurück