Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么我的简单select SQL查询失败?_Mysql_Sql_Select - Fatal编程技术网

Mysql 为什么我的简单select SQL查询失败?

Mysql 为什么我的简单select SQL查询失败?,mysql,sql,select,Mysql,Sql,Select,作为内部查询的一部分,我需要选择每个员工(emp_编号)工作过的最新部门编号(部门编号)。注意,一些员工在多个部门工作。此表的名称为dept_emp 这看起来很简单(也许是),但我一直没能弄明白。这是我尝试过的问题之一 选择部门号、emp号、起始日期 来自环境管理部 emp_编号分组 具有最大值(自年月日起); 这不会返回正确的结果。对于员工“10010”,它返回部门编号“d004”和日期“1996-11-24”,而我预期的是“d006”和“2000-06-26” 有人能向我提出一个有效的问题

作为内部查询的一部分,我需要选择每个员工(emp_编号)工作过的最新部门编号(部门编号)。注意,一些员工在多个部门工作。此表的名称为dept_emp

这看起来很简单(也许是),但我一直没能弄明白。这是我尝试过的问题之一

选择部门号、emp号、起始日期
来自环境管理部
emp_编号分组
具有最大值(自年月日起);
这不会返回正确的结果。对于员工“10010”,它返回部门编号“d004”和日期“1996-11-24”,而我预期的是“d006”和“2000-06-26”

有人能向我提出一个有效的问题吗


您的查询格式不正确。如果MySQL接受它,您可能正在运行MySQL 5.x。默认情况下,MySQL 8.x不再接受这些格式错误的查询

为了获得所需的行,可以使用子查询。例如:

select
  d.dept_no, 
  d.emp_no, 
  d.from_date
from dept_emp d
join (
  select emp_no, max(from_date) as max_from_date 
  from dept_emp 
  group by emp_no
) m on m.emp_no = d.emp_no
   and m.max_from_date = d.from_date

您的查询格式不正确,MySQL应该会产生错误。您的
SELECT
groupby
列不兼容。谢谢您的回复。有没有一种方法可以重写它,使其正确运行?它确实运行,但没有返回正确的输出。请参阅