2017-09-20 3 views
0

을 갖는 DISTINCT :MySQL을 - 나는 다음과 같은 열이있는 테이블이 SUM

  • customerID - 같은 ID로 여러 행과 고객 ID를
  • actionVal-0 또는 1

내가 원하는 얼마나 많은 고객 (customerID)이 (actionVal)이 (actionVal)와 1 행 이상 있는지 계산하려면

이 S 행운과 QL 문 ...

SELECT customerID, SUM(actionVal), COUNT(DISTINCT customerID) as total_C 
FROM table1 
GROUP BY customerID 
HAVING SUM(actionVal) > 1 

내가 찾고 결과 것, 당신이 당신의 쿼리에서 고객을 계산해야 할

+0

그리고 왜 작동하지 않습니까? –

답변

1

닫기 [ 'total_C'] 수 :

SELECT COUNT(*) as total_C 
FROM (
    SELECT customerID, SUM(actionVal) 
    FROM table1 
    GROUP BY customerID 
    HAVING SUM(actionVal) > 1 
) as q; 
+0

감사합니다 @ 슬라 쿠소 –

1

쿼리에서 반환 한 행 수를 계산해야합니다. 이런 식으로.

SELECT COUNT(1) FROM (
SELECT customerID, SUM(actionVal) as act_sum 
FROM table1 
GROUP BY customerID 
HAVING act_sum > 1 
) AS tab 

이 도움이 되었기를 바랍니다.

+0

감사합니다. @vijayrathore –

관련 문제