【发布时间】:2020-05-07 17:47:59
【问题描述】:
有两个表
1) Employee
id | Name | Department | Dob
2) Salary
id | salary
我想找到每个部门中最年轻和最年长的员工的薪水。 但是使用以下查询我无法获得正确的 id,salary。
SELECT salary.id,employee.Dept,salary.salary,MIN(employee.DoB)
from employee
INNER JOIN salary ON salary.id = employee.id GROUP by Dept
上述查询返回正确的 Dob,但 ids 和薪水与出生日期不匹配。
【问题讨论】:
-
您通常 GROUP BY 与您选择的列相同,但那些作为设置函数的参数的列除外。
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出您可以给出的最少代码,即您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 停止尝试编写您的总体目标并从给定的代码中解释您的期望以及原因。
标签: mysql sql group-by inner-join having