목록정렬 (2)
오랑우탄의 반란
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btFD5v/btsIUvJeM0h/rNe0F7xqURQSWkciwvWLq0/img.png)
오늘도 오랑이는 문제를 풉니다. 1321. Restaurant Growth 풀이 과정주어진 날짜 중 7일에 대한 합과 평균을 구해야 하는 문제입니다. 윈도우 함수를 사용해 범위를 지정해서 특정 날짜 구간에 대해 집계를 할 수 있는데요, range로 날짜 범위를 구할 수 있습니다. 이때 interval 은 datatype 이 date 인 경우에만 사용 가능하다는 점을 주의해야 합니다. sum(amount) over (order by visited_on range between interval '6' day preceding and current row) as amount 해당 조건을 from 서브쿼리로 넣어주면 7일에 대한 합과 평균을 구할 수 있습니다. 이때 행이 중복으로 들어가지 않게 group by ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wZCFy/btsIQx2J8Z4/nd1aLpYv5dAmtyFnTmkQQ0/img.png)
오늘도 오랑이는 문제를 풉니다. 626. Exchange Seats 풀이 과정이번 문제에서는 다양한 풀이를 살펴볼 예정입니다. 1 max()우선 첫번째 풀이입니다. 이 풀이는 id 번호를 변경해서 student 를 거기에 맞춰주는 형식입니다. id가 홀수인 경우, 1을 더해주고, id가 홀수인 경우 1을 빼줍니다. 마지막 id가 홀수인 경우 그대로 둬야 하기 때문에 그거에 대한 조건도 적어줍니다. select case when id = (select max(id) from seat) and id % 2 = 1 then id when id % 2 = 1 then id + 1 else id - 1 end as id, studentfrom seat ord..