• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

6:50 WHERE 절 서브쿼리에서 아래쪽 쿼리 질문

20.05.21 11:24 작성 조회수 156

3

안녕하세요.

6:50에서 설명하시는 부분의 쿼리

SELECT *

FROM crimes

WHERE date IN (SELECT date FROM crimes ORDER BY date DESC LIMIT 5)

에 대해 궁금한 것이 있어 질문합니다.

최근 5일동안 발생한 레코드를 뽑아내려면

서브쿼리의 date 앞에 DISTINCT가 붙어야 하지 않나요?

저는 위의 코드가 제일 최근에 입력된 5개의 레코드만 뽑아낼거라고 생각돼서요.(같은 날짜 데이터 여러개일 수 있으므로)

답변 부탁드리겠습니다.

덧붙여, 좀 뜬금없지만 실습위주의 좋은 강의 감사합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요? Kang MJ님. 데이터리안 기획자 canary4651입니다. 

좋은 질문 감사합니다. 

문제와 조건을 다시 살펴보니 말씀하신 대로  DISTINCT 조건을 걸어줘야 중복된 데이터가 제거된 후,

최근 5일치의 사건 레코드가 출력됩니다.

강의 영상 하단에 쿼리를 정정해놓았습니다.

SELECT *
FROM crimes
WHERE date IN (SELECT distinct date FROM crimes ORDER BY date desc LIMIT 5);

의견을 주셔서 감사합니다!!