본문 바로가기

MAX6

[leetcode / MySQL] 176. Second Highest Salary 문제 Write a solution to find the second highest salary from the Employee table. If there is no second highest salary, return null (return None in Pandas). 테이블 형태 풀이 SELECT MAX(salary) AS SecondHighestSalary FROM EMPLOYEE WHERE salary (SELECT MAX(salary) FROM Employee) 해설 원래 윈도우 함수 중 집계함수(DENSE_RANK 등)을 사용해서 풀이하려고 했으나, 출력하고자 하는 값이 존재하지 않을 때 NULL을 반환하는 방법을 찾지 못해 다른 사람(bhumileetcode)의 풀이를 참고하였다. OFF.. 2024. 2. 19.
[프로그래머스 / MySQL] 가장 비싼 상품 구하기 문제 💡 PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요. 테이블 형태 풀이 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT 해설 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT 최댓값 구하기와 비슷한 문제다 가장 높은 판매가 = 판매금액의 최댓값 → PRICE의 MAX 값을 구한다 2024. 1. 31.
[프로그래머스 / MySQL] 최댓값 구하기 문제 💡 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 해설 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 가장 최근에 들어왔다 = 가장 늦게 들어왔다 = 시간 값이 가장 크다 → DATETIME 컬럼의 MAX 값을 구한다 2024. 1. 31.
[leetcode / MySQL] 1084. Sales Analysis III 문제 💡 Write a solution to report the products that were only sold in the first quarter of 2019. That is, between 2019-01-01 and 2019-03-31 inclusive. Return the result table in any order. 테이블 형태 풀이 SELECT p.product_id , product_name FROM Product as p JOIN Sales as s ON p.product_id=s.product_id GROUP BY s.product_id HAVING MIN(sale_date) >= '2019-01-01' AND MAX(sale_date) = '2019-01-01' AND MAX(s.. 2024. 1. 30.
[leetcode / MySQL] 184. Department Highest Salary 문제 💡 Write a solution to find employees who have the highest salary in each of the departments. Return the result table in any order. 테이블 형태 풀이 SELECT D.name AS Department , E.name AS Employee , salary AS Salary FROM Employee E INNER JOIN Department D ON E.departmentId = D.id WHERE (departmentId, salary) IN (SELECT departmentId, MAX(salary) FROM Employee GROUP BY departmentId) 해설 FROM Employee E.. 2024. 1. 30.
[프로그래머스 / MySQL] 최댓값 구하기 문제 💡 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 해설 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 가장 늦게 들어왔다 = 시간 값이 가장 크다 → DATETIME 컬럼을 MAX 로 감싸기 2024. 1. 30.