Nanu, Summe einer Spalte??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nanu, Summe einer Spalte??

    Hallo! Ich steh echt aufm Schlauch, sorry!

    Wie bekomme ich die Summe aller einträge einer spalte raus?!? Ich such schon seit Stunden abe irgendwie peil ichs nit

    Danke fürs gehilf!

    Grüsse Manfred

  • #2
    SUM(ausdruck)

    Gibt die Summe von ausdruck zurück. Beachten Sie, dass der Rückgabewert NULL ist, wenn die Ergebnismenge keine Zeilen hat!

    hgruß
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Dankeschön, jetzt kann ich doch noch beruhigt schlafen gehn

      Grüsse Manfred

      Kommentar


      • #4
        AAaalsoo, hab das soweit. Hier meine Abfrage:

        PHP-Code:
         $summe1 mysql_query("select SUM(ORGTAKT) AS orgtakt from $tabelle");
        $row1 mysql_fetch_array($summe1);
        echo 
        $row1[orgtakt];

        $summe2 mysql_query("select SUM(MOMTAKT) AS momtakt from $tabelle");
        $row2 mysql_fetch_array($summe2);
        echo 
        $row2[momtakt];

        $row[diff] = ($row1[momtakt] - $row2[orgtakt]);

        echo 
        $row[diff]; 
        Wie kann ich jetzt aber mit den variablen rechnen? Als ergebniss zeigt er mir 0 an, kann aber nicht sein, da die summe von orgtakt 7166 ist und die summe von momtakt 8300 ?!?

        Grüsse Manfred

        Kommentar


        • #5
          du musst dich schon an die syntax halten ...
          einmal müssen innerhalb von $row noch die gänsefüschen rein.
          und du sollte nicht einfach innerhalb von $row einen index diff erstellen.
          ich habe die mal in $diff umbenannt. damit sollte es gehen.


          PHP-Code:
          $summe1 mysql_query("select SUM(ORGTAKT) AS orgtakt from $tabelle");
          $row1 mysql_fetch_array($summe1);
          echo 
          $row1["orgtakt"];

          $summe2 mysql_query("select SUM(MOMTAKT) AS momtakt from $tabelle");
          $row2 mysql_fetch_array($summe2);
          echo 
          $row2["momtakt"];

          $diff = ($row1["momtakt"] - $row2["orgtakt"]);

          echo 
          $diff
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            die klammern brauchst du hier auch nicht ..

            PHP-Code:
            $diff $row1["momtakt"] - $row2["orgtakt"]; 
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Wieso macht ihr euch das Leben so schwer und setzt das ganze nicht direkt als SQL Statement ab?

              PHP-Code:
              $result mysql_query("select MOMTAKT - ORGTAKT AS diff from $tabelle");
              $diff mysql_fetch_array($result);
              echo 
              $diff["diff"]; 
              Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

              Kommentar


              • #8
                Danke leute!

                @ Pascal, ich muss die werte ja noch weiter berechnen da ich die Prozentuale erhöhung des ergebnisses haben möchte

                Grüsse Manfred

                Kommentar


                • #9
                  Achso, das wusste ich nicht. Trotzdem ein kleiner Rat. Lass so viel wie möglich direkt vom SQL Server berechnen bzw. abarbeiten.. Das ist viel schneller als die Werte erst so rauszuholen und dann zu berechen. Die SQL Server haben die ganzen Funktionen nämlich nicht nur, weil den Programmieren langweilig war
                  Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                  Kommentar


                  • #10
                    genau.

                    das kann ich auch empfehlen. alles was geht schon über sql machen.

                    dein vorteil: du brauchst wesentlich weniger in php zu machen. oder auch nicht mehr umständlich .....

                    mysql kann echt ne ganze menge. ich habe durch solche aktionen schon haufenweise php.code eingespart, nur weil ich eine sql.query genommen hatte, die schon sehr viel 'vorbereitet' hat.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      PHP-Code:

                      $result2
                      =mysql($db"SELECT CPUTYPE from $tabelle WHERE ANZEIGEN=1 AND CPUTYPE LIKE 'AMD Athlon XP T-Bred'"); $amdxptbredzahl=mysql_num_rows($result2);

                      $p1 = (100 $amdxptbredzahl) / ($cpuzahl);
                      $xptbred round($p1); 


                      Ok, klingt logisch, Also, in meiner Statistikseite habe ich folgende Abfrage die Ihr oben sehen könnt. Das ganze habe ich 22 mal, da ich 22 verschiedene CPU Typen abfrage tu und den Prozentuellen Anteil der verschiedenen Typen zu geamtzahl berechne. Ihr könnt euch vorstellen das das ne ganze latte an Code gibt. Lässt sich das zB komplett in eine SQL abfrage reinstecken? Dann könnte ich mir die extra rechnerei sparen und auch gleich in der abfrage die gerundete Zahl umrechnen! Oder?

                      Grüsse Manfred

                      Kommentar


                      • #12
                        bitteschön. (vielleicht gehts auch noch einfacher .... )

                        PHP-Code:

                        $result1 
                        mysql($db"SELECT COUNT(CPUTYPE) from $tabelle WHERE ANZEIGEN=1");
                        /* hier hast jetzt erst einmal die gesamtzahl an cpus in der DB */
                        /* hier muss noch die verarbeitung rein... :P */
                        /* z.b. */
                        $allecpus = .....; 

                        /* nun brauchst du das noch einzeln */
                        $result2 mysql($db"SELECT COUNT(CPUTYPE) from $tabelle WHERE ANZEIGEN=1 GROUP BY CPUTYPE");

                        /* jetzt halt ne schleife durchlaufen und ausgeben */
                        /* prozentwerte kann du nun auch ausgeben.*/

                        $prozentdiesercpu $diesecpuanzahl 100 $allecpus;

                        echo 
                        $prozentdiesercpu
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Hmm... das musst mir jetztgenauer erklären, wo spare ich da was ein?!? Und wo bleibt meine Abfrage der einzelnen CPU Typen? Wo wird da gerundet? Wrum hab ich auf eine Antwort immer so viele Fragen?!?

                          Also nen deutlichen Vorteil gegenüber meinem FERTIGEN geschrieben Code kann ich im Moment nicht erkennen, vieleicht versteh ich Dich falsch?!?

                          Grüsse Manfred

                          Kommentar


                          • #14
                            in der ersten abfrage hole ich erst einmal die summe aller eingetragenen cpus raus.

                            in der zweiten hole ich dann die menge gruppiert nach der cputype.

                            ich habe aber grad gesehen, dass ich einen kleinen fehler gemacht habe. der name des cputypes ist jetzt nicht da....

                            damit aber schon....:
                            PHP-Code:
                            $result2 mysql($db"SELECT CPUTYPE, COUNT(CPUTYPE) Anzahl from $tabelle WHERE ANZEIGEN=1 GROUP BY CPUTYPE"); 
                            du hattest auch nur einen bruchstück deines codes gepostet. wer weiss, was du darum noch alles 'berechnest'....

                            probiere mal die lösung von mir. vielleicht hat PASCAL noch eine andere (bessere) lösung.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              ? Das was ich oben gepostet habe ist schon komplett. Ich hol mir ja auch zuerst die anzahl aller CPUS, dann hol ich mir Die anzahl der verschiedenen CPU Typen, also hier vom AMD Athln XP T-Bred, dann rechne ich mir den prozentualen Anteil zum gesamten aus und runde es ab auf eine Nichtkomma stelle ab. Das ganze mach ich ja im moment 22 mal

                              Also 22 mal sql abfrage, 22 mal prozent berechnen und 22 ne neue variable mit der gerundeten Zahl.

                              Jetzt weiss ich nur nicht was ich mit deinem Post anfangen soll?

                              Du frägst die Spalte CPUTYPE ab, und dann sagts Du GROUP BY CPUTYPE, wie soll ich das jetzt verstehen? Holst Du da von jedem CPUTYPEN die anzahl glaich raus? mit einer Abfrage? Wenn ja, wie Ordne ich dann die ergbnisse den verschiedenen Variablen zu um damit weiter rechnen zu können? Ich glaub das ist mir jetzt doch etwas zu hoch. Da komm ich nich mit...
                              Ich glaub ich lass das lieber mal so wie es ist Hab gestern schon mächtig Schädelbrummen bekommen als ich die ganzen abfragen gemacht hab. Ist ja auch nicht weiter schlimm wenn ich (wenn ich fertig bin) 50 oder 60 sql abfragen untereinande habe, oder?!?

                              Grüsse Manfred

                              Kommentar

                              Lädt...
                              X