mehere Counts in SQL Statment

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

  • mehere Counts in SQL Statment

    Bei folgender Abfrage

    PHP-Code:
    SELECT COUNTvip1 ) as zahlCOUNTvip2 ) as zahl1 COUNTvip3 ) as zahl2 
    FROM vipwin
    WHERE orga_kuerzel 
    'blaa' && erfasst_am >= 'jjjj-mm-tt' &&
     
    erfasst_am <= 'jjjj-mm-tt' && status_id =&& ( vip1 >|| vip2 >|| vip3 >
    GROUP BY vip1vip2vip3 
    bekomme ich für alle Felder das selbe ergebniss Warum?

    leider werden in die nicht gesetzt Felder statt null eine 0 gesetzt, bes.... aber nicht zu ändern

    danke schon mal

  • #2
    weil count() nunmal alle Felder zählt.
    Und da die alle einen Wert haben, gibt´s eben die Anzahl der Datensätze.

    Lösung:

    COUNT( vip1 )
    -->
    sum (if (vip1, 1, 0))

    leider nicht sehr performant :/
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      wenn ich die Anfrage einzeln durchlaufenlasse

      PHP-Code:
      SELECT COUNTvip1 ) as zahl 
      FROM vipwin
      WHERE orga_kuerzel 
      'blaa' && erfasst_am >= 'jjjj-mm-tt' &&
       
      erfasst_am <= 'jjjj-mm-tt' && status_id =&&  vip1 >
      GROUP BY vip1 
      bekomme ich die korrekten ergebnisse, nur muss ich dann für die drei Felder vip1, vip2, und vip3 die Abfrage einezeln stellen ich würde diese gern zusamenfassen in einer abfrage

      Kommentar


      • #4
        Ich würd's ja mal mit DISTINCT versuchen ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar

        Lädt...
        X