[SQL allgemein] Probleme mit SQL Abfrage, eigentlich SIMPEL

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

  • [SQL allgemein] Probleme mit SQL Abfrage, eigentlich SIMPEL

    Hallo Zusammen,

    habe ein kleines Problem mit folgender Aufgabenstellung als Beispiel (in Realität etwas anderes, spielt aber keine Rolle):

    - habe eine Tabelle mit Kunden
    - habe eine Tabelle mit Bestellungen

    Ich möchte nun z.B. die Kunden zählen, welche mind. 10 und max. 20 Bestellungen gemacht haben.

    Das heißt ich möchte nur eine Zahl zurückbekommen, nämlich die Anzahl der Kunden welche "dazwischen" liegen, gar nicht mehr (z.b. Kundendaten etc.).

    Primärschlüssel sind natürlich vorhanden: - UserID - BestellID

    Und da ich gerade irgendwie ein Blackout habe und sowas noch nie gebraucht habe in Vergangenheit geht bei mir gerade garnichts. Das ganze läuft übrigens unter PHP/mySQL, wens interessiert

    Hoffe auf Hilfe..

    Gruß, Mike

  • #2
    wenn ich nicht ganz falsch liege müsste das sowas in der richtung

    SELECT
    count(`userid`)
    FROM
    `Bestellungen`
    WHERE
    (count(`userid`) >9)
    AND
    (count(`userid`) <21)

    nicht getestet.

    Kommentar


    • #3
      Leider Nein..

      -> Supplied argument is not a valid MySQL result resource

      Irgendwie versteht der generell keine COUNT() Funktion bei mir in der WHERE-Klausel..

      Aber die brauch ich ja eigentlich auf jeden Fall da, oder?

      Kommentar


      • #4
        mysql_error()!
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Korrektur der Fehlermeldung: Invalid use of group function

          Mit der anderen kann man wohl kaum viel anfangen

          Kommentar


          • #6
            Irgendwie schein das Gruppieren nicht so richtig das Ding der Members hier zu sein ... kleiner Tipp ... Eingrenzungen eines Gruppierten Ergebisses macht man über HAVING ... WHERE kennt das Ergebnis von COUNT() nämlich noch gar nicht ... !
            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


            • #7
              Tja, kann ja nicht jeder so ein toller Programmier sein

              Noch nie gebraucht die HAVING Klausel in den letzten 3 Jahren, wirklich erstaunlich. Habs gerade auch zeitgleich im Netz gefunden..

              SELECT COUNT(DISTINCT UserID) FROM bestellungen HAVING COUNT(BestellID) > 5;

              So klappts also.. wunderbar..

              Eine Frage noch:
              Wieso bekomme ich bei nicht vorhandenen Datensätzen einen Fehler zurück, anstatt einer 0?

              Warning: Unable to jump to row 0 on MySQL result index 18

              Wenn ich COUNT() sonst einsetze bekomme ich ja auch eine 0..

              Kommentar


              • #8
                Wenn ich COUNT() sonst einsetze bekomme ich ja auch KEINE 0..

                meinte ich natürlich

                Kommentar

                Lädt...
                X