반응형
설치 에 대한 간단한 표가 있습니다.
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
반응형
'MySql' 카테고리의 다른 글
MySQL Music library MySQL database (0) | 2020.09.20 |
---|---|
MySQL KEY 키워드는 무엇을 의미합니까? (0) | 2020.09.20 |
MySQL 너무 많은 필드를 반환하는 MySQL SELECT를 터미널에 가장 잘 표시하는 방법은 무엇입니까? (0) | 2020.09.20 |
MySQL 테이블 행 수를 얻는 가장 효율적인 방법 (0) | 2020.09.20 |
MySQL Change MySql Case sensitivity with phpMyAdmin? (0) | 2020.09.20 |
댓글