gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 10:52:13 26 4
gpt4 key购买 nike

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

SELECT DATEDIFF(SELECT DATE_FORMAT(SYSDATE(),'%Y-%m-%d'),
(SELECT birth_date FROM salaries as s, employees as e WHERE salary = (SELECT MAX(salary) FROM salaries) and s.emp_no = e.emp_no)/365.25);

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

最佳答案

尽管总体方法对我来说似乎是合理的,但您最初的尝试似乎有一些小问题。只需取最高工资员工的出生日期和当前日期时间之间的 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)

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

请注意,如果有不止一名员工获得最高工资,则此查询将返回多名员工的统计信息。在没有进一步要求的情况下,这似乎是合理的做法。

关于mysql - 如何在单个sql查询中计算出生日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43519001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com