inflearn logo
강의

Course

Instructor

[A hundred words are not as good as seeing once] Advanced SQL problem solving for data analysis

Thank you for your hard work!

SET4의 3번 자리바꾸기 문제 다른 풀이

185

seocoach

2 asked

0

선생님 강의 듣기 전에 나름대로 짱구를 굴려서 풀어 봤는데

기본적으로 case when ~~~ 는 똑같지만

lag, lead 함수를 활용해서 해도 문제 풀 수 있었어서

공부하시는 분들과 같이 공유합니다.

select
    id
    , case when mod(id, 2) = 1 and id in (select max(id) from seat) then student
           when mod(id, 2) = 0 then lag_stu
           when mod(id, 2) = 1 then lead_stu
      end as student
from (
        select 
            a.id
            , a.student
            , lag(a.student) over(order by id) as lag_stu
            , lead(a.student) over(order by id) as lead_stu
        from seat  a
        where 1=1
     )  a
where 1=1
order by 1

sql

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
님의 공유해주신 풀이 방식은 laglead 함수를 사용하여 특정 조건에 맞춰 이전 행 또는 다음 행의 데이터를 활용하는 방식입니다. 이는 SQL에서 데이터의 순서에 따라 값을 비교하거나 교체해야 할 때 유용하게 사용할 수 있는 기법으로, 따라서 데이터 분석 작업에서 자주 사용되는 중요한 스킬 중 하나입니다.

lag 함수는 현재 행에서 지정된 수만큼 이전 행의 데이터를 가져오는 함수이고, lead 함수는 현재 행에서 지정된 수만큼 다음 행의 데이터를 가져오는 함수입니다. 여기서는 자리바꾸기 로직을 구현하기 위해 이러한 창 함수를 효과적으로 사용하셨네요.

이런 방식을 통해 데이터 분석을 위한 SQL 사용 능력을 키우고, 다양한 문제 해결 방식을 배우는 것은 매우 중요합니다. 공유해주셔서 감사합니다. 데이터 분석과 SQL 공부에 매우 도움이 될 것 같아요.

강의기간 연장문의

0

96

2

HackerRank : Weather Observation Station 11 문제풀이

0

116

1

set 3의 3번 문제- 데이터의 개수가 짝수일 때 질문

0

263

2

set 1 - 2번 문제풀이

0

258

1

세트2번 Binary Tree Nodes 질문입니다!

0

225

2

고급문제풀이set1 3번 문제

0

249

2

고급문제풀이 3번 INNERJOIN 활용시 오류

0

269

1

회사일하다 보니까 다 못듣고 수강기간이 다끝나가는데 .,. 수강기간 연장은 어떻게 할수 있나요?ㅜㅜ

0

320

1

[Weather 20 ] 2번째 쿼리도 따라 했는데 왜 다 실패일까요?

0

372

1

[Weather 20] 따라 했는데 왜 작동 안해요?

0

274

1

weather-20 왜 작동 안하는건가요?

0

226

1

Ollivander's Inventory 윈도우 함수 min() over

0

310

1

LeetCode 626. Exchange Seats 리트코드 제출 오류

0

506

2

섹션4에 3번 문제풀이 질문

0

376

2

SQL Project Planning 풀이 관련 문의

0

579

2

섹션 1번 4번문제 풀이

1

283

1

섹션1 2번 문제풀이 강의

0

301

1

set2 - 1 같게 작성했는데 답이 이상합니다.

0

285

1

max함수를 써서 풀지는 못하나요?

0

297

1

윈도우 함수를 이용해서 풀고 싶어서 써봤습니다. 더 간단하게 줄일 수 있을까요?

0

257

1

(Hacker Rank)Binary Tree 문제 질문

0

325

1

쿼리 두개로 작성하고 싶지 않아 하나로 어떻게든 만들어 봤습니다.

0

292

1

이런 풀이는 왜 안되는지 궁금해요

0

273

1

소수점 이하 숫자가 안나옵니다 ㅠㅠ

0

323

2