inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

Self JOIN 리트코드 문제풀이2 + MySQL 날짜 데이터 더하고 빼기

rising temperature

289

mmyungjjin

작성한 질문수 5

0

날짜 계산할 때 -1, +1 같은건 절대 안된다고 하셨는데
실제로 이렇게 써도 제출 전에는 맞다고 나오는데요!
혹시 이건 왜그럴까요?
 
select today.id
from weather as today
     inner join weather as yesterday on today.recorddate - 1 =. yesterday.recorddate
where today.temperature > yesterday.temperature

 

sql

답변 1

1

지식공유자 J

image
위에 첨부한 스크린샷의 output 첫 번째 row를 보시면
2015-01-01의 하루 전 날짜는 2014-12-31인데, recorddate - 1 로 연산했을 경우 20150100으로 출력되는 것을 알 수 있습니다.

문제에서 주어진 데이터로 풀 때는 정답에 이런 값이 들어가지 않으므로 Run Code 했을 때 문제가 없었을 텐데요.
제출 후 채점을 할 때는 시스템이 이 쿼리를 여러 개의 test case에 대입해 보고 모든 케이스를 통과해야만 정답으로 처리를 합니다.
연도(year), 월(month)의 첫 날 또는 마지막 날의 날짜가 포함된 케이스가 있을 것이고, -1과 +1로 연산하면 이런 경우에 오답 처리가 됩니다.

리트코드 1280. Students and Examinations

0

94

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

103

2

African Cities 문제관련 질문

0

65

1

SQL 코딩테스트 질문

0

239

1

HACKER RANK에서 문제찾기

0

109

2

강의 자료 다운로드

0

101

2

Asian population 문제가 없어요

0

88

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

77

2

별칭 관련해서 질문 있습니다.

0

88

2

rising temperature 문제 질문

0

109

2

해커랭크 TOP EARNERS 문제 질문

0

110

1

ON 뒤에 질문

0

106

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

211

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

213

2

CustomerID가 중복되서 나타나요

0

242

3

별칭이 전체 테이블을 못 불러와요.

0

152

2

CASE WHEN 쿼리 오류 문의

1

342

3

CASE문제풀이 질문

0

133

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

141

1

Average Population 질문

0

143

1

Revising Aggregations - The Count Function 질문

0

110

1

Average Population of Each Continent 에대해서 질문

0

199

3

w3schools 에서 쿼리 작성 질문

0

167

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

332

1