1731. The Number of Employees Which Report to Each Employee
# Write your MySQL query statement below
SELECT e1.employee_id, e1.name, count(e2.reports_to) reports_count, round(avg(e2.age),0) average_age
FROM employees e1
INNER JOIN employees e2
ON e1.employee_id = e2.reports_to
GROUP BY 1
ORDER BY 1
🔒 구해볼 것 : 다른 사람에게 보고 받는 직원의 ID, 이름, 보고 직원 수, 보고 직원 평균 나이
🔑 세부 구현
1789. Primary Department for Each Employee
SELECT employee_id, department_id
FROM employee
WHERE employee_id not in
(SELECT employee_id
FROM employee
WHERE primary_flag = 'Y')
union all
SELECT employee_id, department_id
FROM employee
WHERE primary_flag = 'Y'
🔒 구해볼 것 : 모든 직원들의 1차 부서 구하기 (하나만 조인되어 있으면 N)
🔑 세부 구현
610. Triangle Judgement
SELECT *, CASE WHEN greatest(x, y, z) * 2 < x + y + z then 'Yes'
ELSE 'No' end as triangle
FROM triangle
🔒 구해볼 것 : 삼각형 가능 여부 출력
🔑 세부 구현
180. Consecutive Numbers
# Write your MySQL query statement below
SELECT distinct num as ConsecutiveNums
FROM
(
SELECT num,
lag(num, 2) over() as num2,
lag(num) over() as num1
FROM logs
) A
WHERE num = num2 and num = num1
🔒 구해볼 것 : 세 번 이상으로 연속 출력된 숫자 구하기
🔑 세부 구현
💯 정답 (혹은 더 좋은 답)
SELECT *, CASE WHEN greatest(x, y, z) * 2 < x + y + z then 'Yes'
ELSE 'No' end as triangle
FROM triangle
😅 내가 쓴 답
-- 정답과 동일
SELECT *, CASE WHEN greatest(x, y, z) * 2 < x + y + z then 'Yes'
ELSE 'No' end as triangle
FROM triangle