
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
sum을 사용하면 사용하면 sql을 더 보기 좋게 만들 수 있다는건 알았아요 그렇다면 성능상에 효과도 볼 수 있는걸까요?
다시말해서 count를 사용하는것 보다 sum 을 사용할때 더 빨리 원하는 데이터를 추출해낼 수 있는건가요?
작성한 코드 및 에러 메세지
# count를 사용할 때
with table1 as (
SELECT
enrolled_id ,
COUNT(done)as done_cnt
FROM
enrolleds_detail ed
WHERE
done = 1
group by
enrolled_id ),
table2 as(
SELECT
enrolled_id ,
COUNT(done)as total_cnt
FROM
enrolleds_detail ed
group by
enrolled_id)
SELECT
a.enrolled_id,
a.done_cnt,
b.total_cnt,
ROUND(a.done_cnt/b.total_cnt,2) as ratio
FROM
table1 a
inner join table2 b on
a.enrolled_id = b.enrolled_id
#############################################
# sum을 사용할때
select
enrolled_id,
sum(done) as cnt_done,
count(*) as cnt_total
from
enrolleds_detail ed
group by
enrolled_id
Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
