HAVING 절의 다중 집계 함수
질문의 특성상 카운트 3의 레코드가 있으며, 카운트 2의 기준에도 부합합니다.x 이상 7 미만으로 세는 것을 질문할 수 있을까요?어떻게 써야 할까요?이게 제 현재 코드입니다.
GROUP BY meetingID
HAVING COUNT( caseID )<4
뭐랄까...
GROUP BY meetingID
HAVING COUNT( caseID )<4 AND >2
그렇게 하면 딱 3개만 계산될 거야
GROUP BY meetingID
HAVING COUNT(caseID) < 4 AND COUNT(caseID) > 2
두 가지 검사를 수행할 필요가 없습니다. 카운트 = 3만 검사하면 됩니다.
GROUP BY meetingID
HAVING COUNT(caseID) = 3
여러 개의 체크를 사용하는 경우 다음을 사용할 수 있습니다.
GROUP BY meetingID
HAVING COUNT(caseID) > 2
AND COUNT(caseID) < 4
예제 쿼리의 경우 2보다 크고 4보다 작은 값은 3뿐이므로 다음과 같이 단순화됩니다.
GROUP BY meetingID
HAVING COUNT(caseID) = 3
일반적인 경우:
GROUP BY meetingID
HAVING COUNT(caseID) > x AND COUNT(caseID) < 7
또는 (읽기가 더 쉬울 수 있음),
GROUP BY meetingID
HAVING COUNT(caseID) BETWEEN x+1 AND 6
여기 모든 의심을 풀 수 있는 완전한 질문을 씁니다.
SELECT BillingDate,
COUNT(*) AS BillingQty,
SUM(BillingTotal) AS BillingSum
FROM Billings
WHERE BillingDate BETWEEN '2002-05-01' AND '2002-05-31'
GROUP BY BillingDate
HAVING COUNT(*) > 1
AND SUM(BillingTotal) > 100
ORDER BY BillingDate DESC
이런 거?
HAVING COUNT(caseID) > 2
AND COUNT(caseID) < 4
select CUSTOMER_CODE,nvl(sum(decode(TRANSACTION_TYPE,'D',AMOUNT)),0)) DEBIT,nvl(sum(DECODE(TRANSACTION_TYPE,'C',AMOUNT)),0)) CREDIT,
nvl(sum(decode(TRANSACTION_TYPE,'D',AMOUNT)),0)) - nvl(sum(DECODE(TRANSACTION_TYPE,'C',AMOUNT)),0)) BALANCE from TRANSACTION
GROUP BY CUSTOMER_CODE
having nvl(sum(decode(TRANSACTION_TYPE,'D',AMOUNT)),0)) > 0
AND (nvl(sum(decode(TRANSACTION_TYPE,'D',AMOUNT)),0)) - nvl(sum(DECODE(TRANSACTION_TYPE,'C',AMOUNT)),0))) > 0
언급URL : https://stackoverflow.com/questions/14756222/multiple-aggregate-functions-in-having-clause
'programing' 카테고리의 다른 글
MYSQL을 사용하여 난수 생성 (0) | 2022.09.25 |
---|---|
SSR에서 Vuex와 함께 vue-instantsearch를 사용하는 방법 (0) | 2022.09.25 |
mysql db에 직렬화된 데이터를 저장할 때 사용해야 하는 열 유형을 선택하십시오. (0) | 2022.09.25 |
마이그레이션을 사용하여 라라벨의 열 이름을 변경하려면 어떻게 해야 합니까? (0) | 2022.09.25 |
vue.js의 로그아웃 버튼으로 main.js의 인스턴스에 액세스합니다. (0) | 2022.09.25 |