본문 바로가기
MySql

MySQL-Null이 아닌 Null을 어떻게 계산합니까?

by 베이스 공부 2020. 9. 20.
반응형

설치 에 대한 간단한 표가 있습니다.

install_slot이 NULL이면 사용 가능한 설치 슬롯입니다. null이 아님-사용 된 슬롯입니다. 특정 제품 및 이메일에 대한 총 설치 결과와 특정 제품 및 이메일에 대한 사용 설치 결과를 반환해야합니다. 두 개의 쿼리로이 작업을 수행 할 수 있다고 생각하지만 SQL 방식으로 모든 작업을 한꺼번에 수행 할 수 있는지 궁금하십니까?

다음을 추측으로 시도했지만 작동하지 않습니다 .

SELECT
    i1.`prod_code`,
    COUNT(i1.`email`) AS total_installs,
    COUNT(ISNULL(i2.`install_slot`)) AS used_installs
FROM
    `installs` AS i1
JOIN
    `installs` AS i2
ON
    i1.`prod_code` = i2.`prod_code`
WHERE
    i1.`email` = 'example@example.com'
GROUP BY
    i1.`prod_code`,i2.`prod_code`

 

해결 방법

 

SELECT prod_code,
       COUNT(email) AS total_installs,
       COUNT(install_slot) AS used_installs
FROM installs
WHERE email='example@example.com'
GROUP BY prod_code

COUNT NOT NULL 값만 계산합니다.

 

참조 페이지 https://stackoverflow.com/questions/9245038

 

 

반응형

댓글