如何在单个sql查询中计算出生日期

时间:2017-04-20 12:03:21

标签: mysql sql database

我想在数据库中找到薪水最高的员工年龄。 我试过这个查询

RUN cd /root && echo $PWD && tar -xvf intel_virtual_gateway_console64_1_9_0.tar && cd virtualgatewayconsole_package && apt-get update && apt-get install expect \
                      expect-dev

但它不起作用。this picture contain database structure

1 个答案:

答案 0 :(得分:1)

你最初的尝试似乎有一些小问题,尽管整体方法对我来说似乎很合理。只需在员工的出生日期与最高工资和当前日期时间之间取DATEDIFF()

SELECT DATEDIFF(SYSDATE(), e.birth_date) / 365.25
FROM salaries s
INNER JOIN employees e
    ON s.emp_no = e.emp_no
WHERE s.salary = (SELECT MAX(salary) FROM salaries)

我所做的更改包括在表格之间使用显式内部联接,以及以不同方式计算日期差异。

请注意,如果多个员工超过最高薪水,此查询将返回多个员工的统计信息。如果没有进一步的要求,这似乎是一件合理的事情。