Итак, я пытаюсь найти среднее время, необходимое работнику для получения повышения зарплаты с момента найма.Среднее значение разницы в сумме времени. MySQL
Я пробовал несколько вещей, но я не понимаю.
Вот что выглядит моя база данных, как: https://dev.mysql.com/doc/employee/en/sakila-structure.html
Это то, что я пробовал:
SELECT AVG(SUM(datediff(hire_date, min((SELECT from_date FROM salaries
WHERE from_date > hire_date AND
(SELECT salary FROM salaries
WHERE from_date = hire_date) <
(SELECT salary FROM salaries
WHERE from_date > hire_date))))))
FROM employees;
Любая помощь будет принята с благодарностью, логически это должно быть правильным (может и нет), я Вероятно, просто испортил синтаксис каким-то образом.
Спасибо!
Время, чтобы прочитать о присоединениях Я подозреваю – Strawberry
Собственно, вопреки приведенному ниже ответу, я думаю, что проблема неразрешима. Поскольку salaries.emp_no является ОСНОВНЫМ КЛЮЧОМ, мы можем знать только дату найма и дату последнего увеличения зарплаты. С этой информацией мы можем узнать только среднее время между наймом и самым последним увеличением зарплаты, что не то, что вы хотите знать (поскольку это бессмысленная статистика). Если бы PK был сформирован на (emp_no, from_date), тогда проблема была бы тривиальной. – Strawberry