[LeetCode/SQL] 197. Rising Temperature

Sooyeon·2023년 11월 10일
0

문제풀이 

목록 보기
19/95
post-thumbnail

[LeetCode/SQL]


📌 197. Rising Temperature

문제

풀이

- 전일보다 온도가 더 높은 id만 출력하기 
=>LAG함수를 활용하여, 전일과 전일온도 컬럼 추가로 생성
=> 그 이후, 날짜와 온도 조건 WHERE 절에 추가 

방법

LAG 함수 활용

SELECT id 
FROM (
  SELECT 
    id, 
    recordDate,
    temperature, 
    LAG(temperature) OVER (ORDER BY recordDate ASC) previousTemperature,
    LAG(recordDate)OVER (ORDER BY recordDate ASC) previousDate
  FROM Weather
) AS t1
WHERE temperature > previousTemperature 
AND DATEDIFF(recordDate, previousDate) = 1

기억하기

날짜 및 시간 관련 작업 수행 함수

  • DATEDIFF
    두 날짜 사이의 차이를 계산

  • DATE_ADD
    주어진 날짜에 일정한 시간 간격을 더합니다.

-- DATEIFF
SELECT DATEDIFF(NOW(), '2023-01-01')

--DATE_ADD
SELECT DATE_ADD(NOW(), INTERVAL 3 DAY);

0개의 댓글