문제풀이/SQL(My sql)95 [문제풀이] Leet code - Friend Requests II: Who Has the Most Friends 출처 문제가장 많은 친구와 가장 많은 친구 수를 가진 사람들을 찾는 솔루션을 작성하십시오.테스트 케이스는 한 사람만 가장 많은 친구를 갖도록 생성됩니다.문제에 대한 해석 친구가 가장 많은 사람을 뽑는 것으로 각 id에서 가장 많은 id를 추출하면 된다 requester_id별 친구의 개수 accepter_id 별 친구의 개수select requester_id, count(*) as 're_num'from RequestAccepted group by requester_id select accepter_id, count(*) as 'acc_num'from RequestAccepted group by accepter_id 문제1.requester_id에만 아이디가 있거나 accepter_id에만 아이디가 있을.. 2024. 7. 24. [문제풀이] Leet code - Average Selling Price 출처 문제각 제품의 평균 판매 가격을 구하는 솔루션을 작성합니다. 소수점 이하 2자리로 반올림해야 합니다.average_price 순서에 관계없이 결과 테이블을 반환합니다. 문제에 대한 해석price테이블과 unitssold테이블을 조인하여 각 제품 id으 평균 판매가를 구하는 것이다평균 판매가는 price테이블의 price와 unitssold테이블의 units를 곱하여 units로 나눈것 풀이(MYSQL)select p.product_id, ifnull(round(sum(p.price*u.units)/sum(u.units),2),0) as ' average_price'from UnitsSold u right join Prices pon p.product_id = u.product_idand u.pur.. 2024. 7. 23. [문제풀이] Leet code - Monthly Transactions I 출처 문제Write an SQL query to find for each month and country, the number of transactions and their total amount, the number of approved transactions and their total amount.Return the result table in any order. 문제에 대한 해석 state컬럼의 approve를 구분하여 approved_count와 apporived_total_count를 만들어야 한다풀이(MYSQL)with base as ( select date_format( trans_date ,'%Y-%m' ) as 'month', country, state, if(state.. 2024. 7. 23. [문제풀이] Leet code - Students and Examinations 출처 문제각 학생이 각 시험에 참석한 횟수를 찾는 솔루션을 작성합니다. student_id및 subject_name로 정렬된 결과 테이블을 반환합니다. 문제에 대한 해석 풀이(MYSQL)-- 1.학생, 과목 테이블 만들기with base as ( select * from Students, Subjects),-- 2. 학생, 과목별 시험의 수 집계test as ( select student_id,subject_name, count(*) as'attended_exams' from Examinations group by student_id,subject_name)-- 1과 2 합치기select base.student_id,base.student_name,base.subject_.. 2024. 7. 22. [문제풀이] Leet code - Managers with at Least 5 Direct Reports 출처 문제5명 이상의 부하 직원이 있는 관리자를 찾는 솔루션을 작성합니다.순서에 관계없이 결과 테이블을 반환합니다.문제에 대한 해석5명 이상을 관리하는 매니저의 이름을 조회함 풀이(MYSQL)-- 1. 매니저의 ID를 조회with manager as ( select id from Employee where id in (select managerID from Employee)),-- 2. 5명 이상 관리하는 매니저를 조회con as ( select managerId from Employee where managerId in (select id from manager ) group by managerId having count(*) >= 5)-- 3. 해당 매니.. 2024. 7. 22. [문제풀이] Leet code - Employee Bonus 출처 문제각 직원의 이름과 보너스 금액을 1000보다 적은 보너스로 보고하는 솔루션을 작성하십시오.순서에 관계없이 결과 테이블을 반환합니다.문제에 대한 해석 두 테이블을 조인하여 각 직원의 보너스가 1000 보다 적은 사람의 이름을 출력하는데이때 보너스가 없는 사람도 1000보다 적은 작으로 간주된다.즉 employ테이블을 기준으로 조인 필요!풀이(MYSQL)select e.name, b.bonusfrom Employee e left join Bonus bon e.empId = b.empIdwhere b.bonus 그러나 런타임이 엄청 길게 나왔다..동일한 쿼리인데도 다르게 나온거 보면... 사이트가 이상한 걸까? 2024. 7. 19. 이전 1 2 3 4 5 6 ··· 16 다음