inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

rising temperature

302

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로 연산하면 이런 경우에 오답 처리가 됩니다.

질문있습니다!

0

55

1

리트코드 1280. Students and Examinations

0

157

3

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

0

159

2

African Cities 문제관련 질문

0

99

1

SQL 코딩테스트 질문

0

324

1

HACKER RANK에서 문제찾기

0

169

2

강의 자료 다운로드

0

146

2

Asian population 문제가 없어요

0

133

2

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

0

127

2

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

0

136

2

rising temperature 문제 질문

0

165

2

해커랭크 TOP EARNERS 문제 질문

0

153

1

ON 뒤에 질문

0

154

2

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

0

271

3

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

1

281

2

CustomerID가 중복되서 나타나요

0

305

3

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

0

207

2

CASE WHEN 쿼리 오류 문의

1

422

3

CASE문제풀이 질문

0

185

1

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

0

180

1

Average Population 질문

0

198

1

Revising Aggregations - The Count Function 질문

0

150

1

Average Population of Each Continent 에대해서 질문

0

244

3

w3schools 에서 쿼리 작성 질문

0

227

1