【发布时间】:2020-06-12 15:59:50
【问题描述】:
作为内部查询的一部分,我需要选择每个员工 (emp_no) 工作过的最新部门编号 (dept_no)。请注意,一些员工曾在多个部门工作。该表的名称是 dept_emp。
这似乎很简单(并且可能是),但我一直无法弄清楚。这是我尝试过的查询之一
SELECT dept_no, emp_no, from_date
FROM dept_emp
GROUP BY emp_no
HAVING MAX(from_date);
这不会返回正确的结果。对于员工“10010”,它返回dept_no“d004”和from_date“1996-11-24”,而我期望“d006”和“2000-06-26”
谁能向我建议一个有效的查询?
【问题讨论】:
-
您的查询格式错误,MySQL 应该会产生错误。您的
SELECT和GROUP BY有不兼容的列。 -
感谢您的回答。有没有办法可以重写它以使其正常运行?它确实运行了,但没有返回正确的输出。