직무별 평균 재직기간을 출력하세요.
SELECT
AVG(sub.working_period) AS avg_work,
t.title
FROM (
SELECT
timestampdiff(
year,
MIN(s.from_date),
IF(MAX(s.to_date) = '9999-01-01', NOW() ,MAX(s.to_date))
) AS working_period,
emp_no
FROM
salaries AS s
GROUP BY emp_no
) as sub
JOIN titles AS t ON sub.emp_no = t.emp_no
JOIN employees AS e ON e.emp_no = sub.emp_no
GROUP BY t.title;
💡 timestampdiff( 단위, 날짜1, 날짜2 ) 기간의 차를 구하는 함수
*** TIMESTAMPDIFF
- 날짜 사이의 차를 구해주는 함수
- 날짜 2 - 날짜 1
- 단위의 종류
SECOND(초) MINUTE(분) HOUR(시간) DAY(일) WEEK(주) MONTH(월) QUARTER(분기) YEAR(연도)