1
SQL 쿼리에 대한 도움이 필요합니다. 모든 장치가 쿼리에서만 제공되는 모든 payments
을 선택해야합니다.쿼리가 잘못 작동합니다. 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';
결과 : 다음 쿼리를 실행하면 나는이 offerId에 대한 payments
만이 유일한 장치가있는 것을 볼 수 있기 때문에
그러나 결과는 잘못된 것입니다, 그것이 내가 쿼리 다음을 수행이를 위해 모바일 및 타블렛.
SELECT id, offer_id, device FROM payments WHERE offer_id = 77;
당신이 도와 줄 수 방법은 올바른 결과에 대한 쿼리를 변경해야합니까? 감사합니다. .
당신은'payment.offer_id'에 의해 GROUP되었으므로 물론 한 행만 반환됩니다. 'GROUP BY'를 제거하고 원하는지 확인하십시오 – RiggsFolly
@RiggsFolly,'HAVING'이'GROUP BY'없이 작동하지 않습니다 –