level.1 정답률 30% 부근 문제 - solvesql

오유찬·2026년 3월 23일

SQL

목록 보기
71/71

1. 우리 플랫폼에 정착한 판매자 1 (29.55%)

SELECT  seller_id, COUNT(DISTINCT order_id) as orders
FROM    olist_order_items_dataset
GROUP BY  seller_id
HAVING    COUNT(DISTINCT order_id) >= 100

DISTINCT를 안 붙여서 틀린 사람들이 많은 것 같다.
중복되는 값들 생각합시다!

2. 데이터 그룹으로 묶기 (31.22%)

SELECT  quartet, 
        ROUND(AVG(x), 2) as x_mean, 
        ROUND(VAR_SAMP(x), 2) as x_var,
        ROUND(AVG(y), 2) as y_mean,
        ROUND(VAR_SAMP(y), 2) as y_var
FROM    points
GROUP BY  
        quartet

MySQL에서 분산을 구하는 함수는 2개가 있다.

  • VARIANCE(컬럼명), VAR_POP(컬럼명) : 데이터 세트의 모집단 분산(Population Variance)을 구한다.
  • VAR_SAMP(컬럼명) : 표준 분산(Sample Variance)을 구한다.

표본 분산 : 활용하는 데이터가 모집단이 아니라 샘플링해서 뽑은 집단일 때의 분산이다.
왜 쓸까? 말 그대로 표본이니까, 집단의 일부가 집단을 대변하기 위해 사용한다.

3. 최근 올림픽이 개최된 도시

SELECT  year, UPPER(LEFT(city, 3)) as city
FROM    games
WHERE   year >= 2000
ORDER BY year DESC

오답률이 왜 높을까 생각해보면 대문자로 출력하라는 지시 사항을 못 보지 않았을까 싶다.
아니면 LEFT 함수를 생각 못 했을 수도 있다.

profile
열심히 하면 재밌다

0개의 댓글