首页 > 解决方案 > 子查询中的mysql最小值和最大值

问题描述

在此先感谢您的帮助。我是 sql 的菜鸟,这可能是一个非常基本的问题,但我已经研究了几个小时,似乎无法弄清楚我做错了什么。

这是提出的问题:使用聚合函数,在名为 Employee Name 的字段中显示员工姓名(名字和姓氏连接)以及雇用时间最长的员工和最后雇用的员工的雇用日期。

我试图用这种不同的方式编写代码,但无济于事。我总是得到一个结果,而不是我知道我应该得到的两个结果。(我知道我应该得到两个结果,因为我正在使用一个非常小的表格并且可以通过查看它来计算答案 - 很容易确保我以这种方式获得正确的结果。)

这是我编码的一种方式: 子查询

在这里,我对最小值和最大值使用了子查询。我在两者之间使用了“和”,因为我想要两个结果。我只得到一个。如果我使用“或”,我会得到太多结果我也尝试过这种方式:

选择语句中的最小值/最大值在 这里,我仍然只得到一个员工姓名,但现在我得到了两个日期。日期是正确的日期,但我需要输出看起来像第一个查询输出。

任何人都可以提供的任何帮助将不胜感激!

标签: mysql

解决方案


怎么样

select concat(first_name,' ',last_name), hire_date
from l_employees
where hire_date = (select max(hire_date) from l_employees)
or hire_date = (select min(hire_date) from l_employees)

推荐阅读