DS가 되기 위한 여정 👩‍💻
728x90
반응형

Data Science/SQL 44

[HackerRank sql] group by가 아닌 서브쿼리 조건으로 넣을 것

Ollivander's Inventory - 최대한.. 써보았으나 역시 굴러가지 않는 내 코드 ㅠ- min(coins_needed)도 따로 빼라고 하는데.. 왜지.. 자꾸 여기서 헷갈린다. 조건이니깐, 그런건지.. 그냥 셀렉트에서 하면 왜 안되는 건지.. - 적용 순서 때문인 것 같기도 하고 ==> 지피티 답단순히 SELECT를 사용하면, MySQL은 그룹화 기준에 포함되지 않은 열들에 대해 어떤 값을 선택할지 보장하지 않습니다.- 나는 그냥 age만 group by를 사용했는데 이렇게 하면, 나머지는 포함되지 않고 어떻게 선택될지 보장이 안 되기 때문에 서브쿼리로넣어서 확실하게 적용되도록.. 하는 거래.. 각 age별로 가장 작은 coin_needed를 계산해야 하니깐.   수정 전select w.id..

Data Science/SQL 2025.01.25

[HackerRank sql] join 동시에 여러 개, 집계 함수 위치

Top Competitorsdiscussion을 보면서  여러 개의 조인을 동시에 쓰는 것과on 대신 using (같은 칼럼명) 을 쓰는 것까지는 기억했다.count()도 위치가 where에 있으면 안 되는  것까지는 알겠으나,,어떻게 손을 대야 할지를 모르고 멈춘 후 지피티에게 물었다.  수정 전select h.hacker_id, h.namefrom kackers hjoin submissions s using(hacker_id)join challenges c using(challenge_id)join difficulty d using(difficulty_level)where count(s.score = d.score) as t_s > 1 -- 여기가 문제인데.. 하.. 모르겠더라order by t_s ..

Data Science/SQL 2025.01.25

[HackerRank sql] join between and를 써서

The Reportbasic join을 쓰는 거라서 쉬운데도 이게 뭐지... 고민했다.다들 cte쓰는데 .. 모르겠고 등급이 8부터는 case when then 으로 조건을 name에 주고 아래, 성적 등급 매기는 것은 on 뒤에 바로 between and로 구현 했다..이것도 익숙하지 않으니깐 우선 써둠.  select case when grades.grade > 7 then students.name -- 조건 주기 else null end as name, grades.grade, students.marksfrom studentsinner join gradeson students.marks between grades.min_mark and grades...

Data Science/SQL 2025.01.25

[HackerRank sql] 중간값 구하기. cte

Weather Observation Station 20 번 문제인데 솔직히... 잘 모르겠다. mysql을 할 때 집계함수의 경우 where에 쓸 수 없다는 것은 알겠고, 서브쿼리의 윈도우 함수로 계속 풀려고 했는데도 잘 안됐다..내가 볼 땐 더 쉬운 것을 풀어봐야 겠는데.. 어렵다. mysql은 앞서 계산한 값을 바로 참조할 수 없기 때문에CTE(Common Table Expression)를 임의로 만들어서 사용하려는 것은 알겠다.다만, 어떨 때 그렇게 할 수있는지를 아직도 잘 모르겠다.. 다시말하지만, 부트캠프를 들으면서 잠깐 배웠다고 해서.. 알게 되는 게 아니다 진심으로.별 수 없이 discussion 과 구글링 그리고 지피티에게 물어보면사 하나하나 뜯어보면서 익히고 있다...풀다가 자꾸 medi..

Data Science/SQL 2025.01.25
728x90
반응형