Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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使用JOIN+构造查询;组+;外键_Mysql_Sql_Database - Fatal编程技术网

MySQL使用JOIN+构造查询;组+;外键

MySQL使用JOIN+构造查询;组+;外键,mysql,sql,database,Mysql,Sql,Database,我有一个工资表,如下图所示。员工编号emp\u no是外键。以下查询工作正常: SELECT emp_no, ANY_VALUE(salary) FROM salaries GROUP by salaries.emp_no LIMIT 0, 500 但如果我尝试按薪资描述订购,则会抛出以下错误: 错误代码:1055。ORDER BY子句的表达式#1不在GROUP BY中 子句,并包含未聚合的列“雇员.薪金.薪金” 功能上不依赖于GROUP BY子句中的列; 这与sql\u mode

我有一个工资表,如下图所示。员工编号
emp\u no
是外键。以下查询工作正常:

SELECT 
emp_no, ANY_VALUE(salary)
 FROM salaries 
 GROUP by salaries.emp_no 
 LIMIT 0, 500
但如果我尝试按薪资描述订购,则会抛出以下错误:

错误代码:1055。ORDER BY子句的表达式#1不在GROUP BY中 子句,并包含未聚合的列“雇员.薪金.薪金” 功能上不依赖于GROUP BY子句中的列; 这与sql\u mode=only\u full\u group\u by不兼容

是否有一种方法可以构造此查询,以便它向我显示最高的
薪资
v每个
emp\u no
?我正在尝试构造一个适当的查询,而不是针对sql\u mode=only\u full\u group\u by


我建议使用别名:

SELECT emp_no, ANY_VALUE(salary) as any_salary
FROM salaries 
GROUP by salaries.emp_no 
ORDER BY any_salary DESC
LIMIT 0, 500

我建议使用别名:

SELECT emp_no, ANY_VALUE(salary) as any_salary
FROM salaries 
GROUP by salaries.emp_no 
ORDER BY any_salary DESC
LIMIT 0, 500
有没有办法构造这个查询,让它显示每个emp_no的最高工资

您似乎在寻找聚合函数
max()
,而不是
任何值()

any_value()
,顾名思义,为您提供组中可用的仲裁值(即具有相同
emp_no
的记录)。另一方面,
max()

有没有办法构造这个查询,让它显示每个emp_no的最高工资

您似乎在寻找聚合函数
max()
,而不是
任何值()


any_value()
,顾名思义,为您提供组中可用的仲裁值(即具有相同
emp_no
的记录)。另一方面,
max()