programing

MySQL 쿼리 - SUM of COUNT 사용

lovejava 2023. 9. 16. 08:20

MySQL 쿼리 - SUM of COUNT 사용

이 쿼리:

SELECT COUNT(source) AS count
FROM call_details
GROUP BY source
HAVING count >1

카운트 필드만 포함하여 약 1500개(찾는 숫자)의 결과를 반환합니다.모든 카운트 필드의 합계도 반환하려면 어떻게 해야 합니까?내가 노력할때

SELECT COUNT(source) AS count,
SUM(count) as total
FROM call_details
GROUP BY source
HAVING count >1

필드 목록' 오류에서 'Unknown column 'count'라는 오류가 발생합니다.

그리고.

SELECT COUNT(source) AS count,
SUM(COUNT(source)) as total
FROM call_details
GROUP BY source
HAVING count >1

그룹 함수의 잘못된 사용'을 제공합니다.

무슨 생각 있어요?나는 할 수 있습니다.mysql_num_rows($result)(필요한 정보를 얻기 위해) 첫 번째 세트를 만들었지만, 꼭 MySQL을 통해 해보고 싶습니다.

SELECT COUNT(count) FROM (SELECT COUNT(source) AS count
FROM call_details
GROUP BY source
HAVING count > 1) as A

행 컨텍스트에서는 전역 합계를 얻을 수 없습니다.특정 행에서 COUNT()가 완료될 때 다른 행은 아직 계산되지 않았기 때문에 SUM할 것이 없습니다.

먼저 SUM 쿼리를 실행하여 개별 통계를 가져온 다음 스크립트에서 수동으로 SUM을 실행하거나 주변 SUM 절을 사용하여 쿼리를 다시 실행해야 합니다.

SELECT SUM(count) FROM (
   SELECT original query here...
)

이거 먹어봐요.

select mycount, sum(mycount) as sumcount
from
(SELECT COUNT(source) AS mycount FROM call_details GROUP BY source HAVING mycount >1)   counttable 

어차피 응용 프로그램에서 모든 결과를 가져올 거라고 가정하면, 응용 프로그램 코드에 이를 요약하는 것이 가장 효율적인 방법일 것 같습니다.

숫자를 계산하는 선택 쿼리에서 'Group by' 절을 제거하기만 하면 됩니다.

# first, get your counts by source
SELECT COUNT(source) AS count
FROM call_details
GROUP BY source
HAVING count >1

# then, get the overall total
SELECT COUNT(source) AS count
FROM call_details
HAVING count >1

언급URL : https://stackoverflow.com/questions/6709747/mysql-query-using-sum-of-count