Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] sum() in WHERE

Einklappen

Neue Werbung 2019

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

  • [Erledigt] sum() in WHERE

    hallo,

    ich versuche folgende abfrage zu machen:

    PHP-Code:
    $qry mysql_query("SELECT sum(a+b+c) AS x FROM table WHERE x>'10'"); 
    das funktioniert aber nciht, wie kann ich das anders l

  • #2
    Mit having in where clausel darf man keinen Wert angeben der durch select gebildet wird. Dafür gibt es having.

    http://dev.mysql.com/doc/refman/4.0/de/select.html

    Kommentar


    • #3
      häh, having? wo siehst du das denn?
      Ich glaube du willst schlicht nur das tun, oder?
      PHP-Code:
      $qry mysql_query("SELECT a+b+c AS x FROM table WHERE x>10"); 
      SUM wird für ein zeilenweises Summieren verwendet

      Kommentar


      • #4
        Zitat von nikosch77
        häh, having? wo siehst du das denn?
        Ich glaube du willst schlicht nur das tun, oder?
        PHP-Code:
        $qry mysql_query("SELECT a+b+c AS x FROM table WHERE x>10"); 
        SUM wird für ein zeilenweises Summieren verwendet
        nee, sum muss schon sein. hat jetzt die abfrage vereinfacht. da ist auch noch ein group drin, dass dann dieses sum notwendig macht.

        mfg
        dmx

        Kommentar


        • #5
          habs geschnallt mit having, das muß auch sein. du willst also die summe von summen von columns oder wie?

          Kommentar


          • #6
            Code:
            SELECT SUM(a+b+c) AS x 
            FROM table 
            WHERE SUM(a+b+c)>10
            im Where-Teil können keine Aliase aus dem SELECT-Teil genutzt werden.

            Kommentar


            • #7
              In der WHERE-Klausel können auch keine Aggregat-Funktionen verwendet werden. Dafür gibt es HAVING:
              Code:
              SELECT SUM(a+b+c) AS x FROM table HAVING x > 10

              Kommentar


              • #8
                habs geschnallt mit having, das muß auch sein. du willst also die summe von summen von columns oder wie?
                ja, wollte ich.^^

                In der WHERE-Klausel können auch keine Aggregat-Funktionen verwendet werden. Dafür gibt es HAVING:
                ja, das hab ich gleich nach dem ersten having hinweis probiert und es ging. wollte nur noch mit sum() klarstellen.

                mfg
                dmx

                Kommentar

                Lädt...
                X