Ich brauche Sie bei der SQL-Abfrage helfen. Ich muss alle payments
auswählen, die ALLE Geräte NUR von der Abfrage haben. Dazu I Abfrage Sie wie folgt:Abfrage funktioniert falsch MySQL
SELECT payments.offer_id
FROM payments
WHERE payments.device IN ('TABLET','DESKTOP','MOBILE','IPOD')
GROUP BY payments.offer_id
HAVING COUNT(payments.id) = '4';
Ergebnis:
Aber Ergebnis falsch ist, weil, wenn folgende Abfrage ausführen ich, dass payments
für dieses OfferID sehen nur 2 einzigartige Geräte haben, ist es MOBIL und TABLETT.
SELECT id, offer_id, device FROM payments WHERE offer_id = 77;
Können Sie mir helfen und wie müssen Abfrage für das richtige Ergebnis ändern? Danke.
Sie haben GROUPed von 'payment.offer_id' so natürlich erhalten Sie nur eine Zeile zurückgegeben. Entfernen Sie die "GROUP BY" und sehen Sie, ob das ist, was Sie wollen – RiggsFolly
@RiggsFolly, 'HAVING' funktionieren nicht ohne' GROUP BY' –