YS's develop story

MySQL ) COUNT문 활용하기 , MySQL 퍼센트 계산하기 본문

Database/MySQL

MySQL ) COUNT문 활용하기 , MySQL 퍼센트 계산하기

Yusang 2021. 1. 28. 23:53

먼저 COUNT문을 정리해 봤습니다

아래와 같은 ThemeReview라는 테이블이 있습니다.

 

 

아래와 같은 쿼리문을 통해 userId가 1인 사용자가 작성한 리뷰가 몇 개인지,

이 사용자가 작성한 리뷰 중 escapeSuccess가 Y인 리뷰가 몇 개인지 확인할 수 있습니다.

select count(*) as reviewCount,
       count(case when escapeSuccess = 'Y' then 1 end) as 'successCount'
       from ThemeReview where userId = '1';

 

 

아래와 같이 여러 개의 조건을 만족할 때만 개수를 세도록 할 수도 있습니다.

useHintCount가 0이고 escapeSuccess가 Y일 때만 개수를 세는 것 이죠

select count(*) as reviewCount,
       count(case when escapeSuccess = 'Y' then 1 end) as 'successCount',
       count(case when useHintCount= 0 and escapeSuccess = 'Y' then 1 end) as 'successCountWithNoHint'
       from ThemeReview where userId = '1';

 

이제 퍼센트를 계산하는 쿼리문을 작성해 봅시다.

위에서 작성한 count쿼리를 활용하고, round문을 활용해서 퍼센트를 구하는 쿼리입니다.

결과를 보면 퍼센트가 각각 75 50인 것을 확인할 수 있습니다.

select count(*) as reviewCount,
       count(case when escapeSuccess = 'Y' then 1 end) as 'successCount',
       count(case when useHintCount= 0 and escapeSuccess = 'Y' then 1 end) as 'successCountWithNoHint',

concat(round( count(case when escapeSuccess = 'Y' then 1 end) / count(*)*100,2),'%') AS successPercentage,
       concat(round( count(case when useHintCount= 0 and escapeSuccess = 'Y' then 1 end) / count(*)*100,2),'%') AS successPercentageWithNoHint

from ThemeReview where userId = '1';

Comments