MY SQL - Brauche drigend hilfe :(

mal2000b

Grünschnabel
Hallo Freunde,

ich hatte eine Frage bzgl MySQL.
ich habe eine Tabelle mit 3 Spalten:

- id
- user_id
- produkt_id

in diese Datenbank werden, Bestellung Daten gespeichert. Benutzer und Produkte haben
eine bestimme ID. Wie kann ich heraus finden welche Benuter bis jetzt mehr als 40 Produkte bestellt hat ?

ich hab es so hinbekommen das ich zu mindest alles zusammen zählen kann

SELECT COUNT( `user_id` ) AS gesamt, `user_id`
FROM `bestellung`
GROUP BY `user_id`

aber wie kann ich überprüfen wer mehr als 40 Produkte hat?

Danke im Voraus und viele Grüße
 
schon versucht?
Ich weiß jetzt allerdings nicht ob `gesamt` hier schon verwendbar ist.
SQL:
SELECT COUNT( `user_id` ) AS gesamt, `user_id`
FROM `bestellung`

WHERE `gesamt` > 40

GROUP BY `user_id`
 
Hallo Maniac,
habs schon versucht leider ist gesamt an der Stelle unbekannt :(

#1054 - Unknown column 'gesamt' in 'where clause'
 
WHERE ist falsch. WHERE greift auf die ungruppierten Daten zu. Aber mit HAVING kann man auf die gruppierten Daten zugreifen

SQL:
SELECT
    user_id
FROM
    bestellung
GROUP BY
    user_id
HAVING
    COUNT(*) > 40
 
Zuletzt bearbeitet von einem Moderator:
DAnn mit HAVING:

SQL:
SELECT COUNT( `user_id` ) AS gesamt, `user_id`
FROM `bestellung`
 
GROUP BY `user_id`

HAVING `gesamt` > 40

Da war der SQL-Guru wieder schneller....
 
Zurück