Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL-Abfrage mit LIMIT geht nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] MySQL-Abfrage mit LIMIT geht nicht

    Hi Leute,

    vielleicht hat jemand von euch eine Idee.

    Ich möchte meine SQL-Abfrage limitieren, leider klappt das nicht.

    |___id___.|___aid___.|___wert_w___.|
    |____1___|____1____|_____10_____|
    |____2___|____1____|_____10_____|
    |____3___|____1____|_____10_____|
    |____4___|____1____|_____10_____|
    |____5___|____2____|_____10_____|
    |____6___|____2____|_____10_____|
    |____7___|____1____|_____10_____|
    |____8___|____1____|_____10_____|
    |____9___|____1____|_____10_____|
    |___10___|____1____|_____10_____|
    |___11___|____1____|_____10_____|
    |___12___|____1____|_____10_____|
    |___13___|____1____|_____10_____|

    $af_1 = "SELECT sum(wert_w) as gesamt FROM aleistung WHERE aid='1' LIMIT 1,5";
    $aw_1 = mysql_query($af_1);
    while($row = mysql_fetch_object($aw_1))
    {
    $wert_w=$row->gesamt;
    }

    Die Ausgabe mit LIMIT gibt leider keinen Wert zurück.
    Mit LIMIT 0,5 gibt das Script wie unten, auch 110 zurück.
    Die Ausgabe ohne LIMIT ist: 110


    Danke schonmal im Vorraus

    Gruß Phil

  • #2
    Hallo!

    Versuche die Ausgabe mal mit!

    PHP-Code:
    echo $wert_w
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    [URL]http://www.lit-web.de[/URL]

    Kommentar


    • #3
      1. warum willst Du denn limit benutzen???
      Du bekommst doch genau einen datensatz auf Deine sum() abfrage
      deswegen wird bei LIMIT 1,5 auch nichts ausgegeben weil es dort keine Werte gibt... denn wie Du selbst erkannt hast liegt der datensatz bei index 0...

      Kommentar


      • #4
        ach

        OK also das Ergebnis von
        PHP-Code:
        echo $wert_w
        gibt mit "LIMIT 1,5" keinen Wert, mit "LIMIT 0,5" den Wert 110 (genau wie ohne LIMIT) aus.

        Gruß Phil

        Kommentar


        • #5
          Hallo HPR1974,

          also ich brauche nicht die Gesamtsumme auf einen Schlag.

          Ich benötige also wenn Du so willst eine Zwischensumme. Daher hatte ich die Idee mit dem Limit.

          1. Abfrage für die Werte 1-5
          2. Abfrage für die Restlichen Werte

          Kommentar


          • #6
            es gibt aber wenn Du nicht gruppierst nur eine summe
            Dein limit macht nur sinn wenn Du zB
            SELECT sum(wert_w) summe ,aid FROM aleistung GROUP BY aid LIMIT 5

            machst

            Kommentar


            • #7
              hmmmm ok das hilft mit leider nicht.

              Funzt auch ned *grrrr*

              Dammich muss doch ne einfache möglichkeit geben aus einer Tabelle erst die ersten 5 werte zu addieren und dann in einer neuen abfrage die nächsten 5 und nur die mit aid=1.....

              Kommentar


              • #8
                IMHO nicht mit sql direkt aber hol doch einfach alle werte und steuer Deine summen über ein script

                Kommentar


                • #9
                  Wenn der Inhalt (Menge) der Tablle nicht variabel wäre, wär das ja auch einfach........

                  Kommentar


                  • #10
                    Um das Ergebnis zu bekommen was du haben willst kannst du auch eine ganz einfache Sub-Abfrage machen:

                    Code:
                    SELECT sum(wert_w) as gesamt FROM
                    (
                      SELECT wert_w FROM aleistung WHERE aid='1' LIMIT 1,5
                    ) AS temp
                    Damit bekommst du die Summe der Datensätze 1 - 5

                    Kommentar


                    • #11
                      Bin wohl zu doof dafür
                      hab folgendes gemacht:

                      PHP-Code:
                      $af_1 "SELECT sum(wert_w) as gesamt FROM (SELECT wert_w FROM aleistung WHERE aid='1' LIMIT 1,5) AS temp";
                      $aw_1 mysql_query($af_1);
                      while(
                      $row mysql_fetch_object($aw_1))
                          {
                      echo 
                      'Temp: '.$temp;
                      echo 
                      '<br>Gesamt: '.$gesamt;
                          } 
                      Die Ausgabe bringt aber nur:
                      Temp:
                      Gesamt:

                      Kommentar


                      • #12
                        Les bitte erstmal http://www.php.de/php-einsteiger/announcements.html

                        und dann heisst es
                        PHP-Code:
                        echo $row["gesamt"]; 

                        Kommentar


                        • #13
                          und was willst mir damit sagen?

                          das du keine Lust zum scrollen hast!?

                          Kommentar


                          • #14
                            PHP-Code:
                            $af_1 "SELECT sum(wert_w) as gesamt FROM 
                            (
                            SELECT wert_w FROM aleistung WHERE aid='1' LIMIT 1,5
                            ) AS temp"
                            ;

                            $aw_1 mysql_query($af_1);
                            while(
                            $row mysql_fetch_object($aw_1))
                                {
                            echo 
                            'Temp: '.$temp;
                            echo 
                            '<br>Gesamt: '.$gesamt;
                                } 
                            Besser?

                            Kommentar


                            • #15
                              Zitat von PhilCGN Beitrag anzeigen
                              und was willst mir damit sagen?

                              das du keine Lust zum scrollen hast!?
                              Das du die Grundregeln wie mysql_error nicht befolgst!

                              Kommentar

                              Lädt...
                              X