Inhalt von einer Zelle summieren und in einer Variable speichern

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

  • Inhalt von einer Zelle summieren und in einer Variable speichern

    Ich hab hier halt mit PHP eine SQL-Tabelle auslesen lassen, die ungefähr so aussieht:

    ID | Kosten in €
    --------------
    1 .| 12
    --------------
    2 .| 12
    . . . 24
    . . . 8
    --------------
    3 .| 4
    . . . 2
    --------------

    Wie kann ich nun den Inhalt einer Zelle summieren?
    also dass in der 1. Zeile rauskommen würde 12
    in der 2. 44
    ,in der 3. 6

    Gibt es da direkt einen Befehl, der das macht?

  • #2
    SELECT id, SUM(kosten) FROM tabelle GROUP BY id
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      harrharr THX, gleichma gucken ob das funzt...

      noch ne Frage:
      wie kann ich maximal z.B. 10 Resultate anzeigen lassen?

      ----
      ThX auch dafür
      Zuletzt geändert von Mr.Bremnskerl; 22.10.2003, 12:02.

      Kommentar


      • #4
        http://www.mysql.com/doc/de/SELECT.html
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Ich hab sql, nich mysql.
          aber naja

          wenn ich da einfach sum(...) da in den Select-Befehl mache.
          (das sieht dann so aus:
          $fnrquery = "SELECT Teilenummer, sum(Bestellpositionswert) FROM Bestellposition"
          ." WHERE Investitionsnummer=" . $Ofen['INVNr'];

          )

          , dann kriege ich folgende Fehlermeldung:

          Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Die Bestellposition.Teilenummer-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion enthalten und keine GROUP BY-Klausel vorhanden ist., SQL state 37000 in SQLExecDirect in c:\inetpub\wwwroot\investition\index2.php on line 150
          Wenn ich das mit sum dazu schreibe, wo er die Kosten ausgeben will, was da so aussieht:

          print sprintf("%01.2f", trim(sum($fnr['Bestellpositionswert']))) . "<BR>\n";


          sagt er folgenden Fehler:
          Fatal error: Call to undefined function: sum() in c:\inetpub\wwwroot\investition\index2.php on line 153
          ...

          Kommentar


          • #6
            ob microsoft sql oder mysql is wurschtegal bei deinem problem

            du solltest dir meinen code nochmal anschauen und dann adaptieren, bei denem select fehlt das GROUP BY
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Und wenn ich einfach die Limit KLausel verwende, was dann so aussieht:
              SELECT STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe LIMIT 10

              dann sacht er :
              Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Zeile 1: Falsche Syntax in der Nähe von '10'., SQL state 37000 in SQLExecDirect in c:\inetpub\wwwroot\ccs2000bestaende\test2\index.php on line 181
              Anscheinend kennt er 'limit' gar nicht. oder was?? 0_o

              Kommentar


              • #8
                ich bezog mich auf das summieren
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  is klar

                  Wie muss denn da jetzt sum() eingesetzt werden bei mir? Habs probiert aber es sacht immer Fehlermeldung...

                  $query = "SELECT Investitionsnummer, Teilenummer, Bestellpositionswert FROM Bestellposition"
                  ." WHERE Investitionsnummer=" . $Ofen['INVNr'];

                  Wie muss das jetzt da aussehen? einfach sum(Bestellpositionswert) ?? und wo muss dann das group by hin? der sacht immer Fehler

                  Kommentar


                  • #10
                    Original geschrieben von mrhappiness
                    SELECT id, SUM(kosten) FROM tabelle GROUP BY id
                    isses so schwer daraus dann
                    Code:
                    SELECT Teilenummer, sum(Bestellpositionswert) 
                    FROM Bestellposition
                    WHERE Investitionsnummer=0815
                    GROUP BY Teilenummer
                    zu machen?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      japp, weil ich dann aus:
                      $query = "SELECT Investitionsnummer, Teilenummer, Bestellpositionswert FROM Bestellposition"
                      ." WHERE Investitionsnummer=" . $Ofen['INVNr'];

                      das machen soll !? :
                      $query = "SELECT Investitionsnummer, Teilenummer, sum(Bestellpositionswert) FROM Bestellposition"
                      ." WHERE Investitionsnummer=" . $Ofen['INVNr'] ."GROUP BY Investitionsnummer";

                      oder doch eher GROUP BY Teilenummer ¿

                      Is das richtig?

                      Kommentar


                      • #12
                        warum lässt du dir die investitionsnummer denn überhaupt zurückliefern?

                        die weißt du duch schon, denn du gibst sie mit WHERE vor!

                        aber wenn du unbedingt willst, dann mach GROUP BY investitionsnummer, teilenummer
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          also das, mit dem nur 10 anzeigen hab ich schonmal

                          $sqlOfenQuery = "SELECT STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe LIMIT 10";

                          So stand es da auf der schwulen mysql-site.
                          Aber geht nich
                          Wenn ich aber nu das so schreibe:
                          $sqlOfenQuery = "SELECT TOP 10 STOFFBEZ, STOFFID, STOFFGRPID, MINMENGE FROM Stoffe";

                          ,dann gehts. Also wer hat jetzt hier Recht? Ganz einfach, ich hab kein mysql!

                          Kommentar


                          • #14
                            OffTopic:
                            @Mr.Bremnskerl:
                            deine ausdrucksweise lässt stark zu wünschen übrig - wenn du hier auch zukünftig noch hilfreiche antworten bekommen willst, dann arbeite bitte daran.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              ok, wenn ich das alles genau so mache, was dann so aussieht :
                              GROUP BY Investitionsnummer, Teilenummer

                              , dann gibt er da, wo er sonst in einer Zelle mehrere Beträge angegeben hat, viele NULLEN aus.

                              Also sind aus den Beträgen alles Nullen geworden...
                              Noch wer nen Rat??

                              Kommentar

                              Lädt...
                              X