【发布时间】:2015-09-29 22:01:46
【问题描述】:
我有一个员工工资数据库。
这里是Salaries 表字段:
emp_no INT(11)
salary INT(11)
from_date DATE
to_date DATE
我正在尝试获取前 10 名员工的薪水,非重复员工。使用下面的代码,我可以获得 emp_no 的最高工资,但我的 from_date 和 to_date 默认为该 emp_no 的最早日期值。
select emp_no, max(salary) as salary, from_date, to_date
from salaries
group by emp_no
order by salary DESC
limit 10
我假设GROUP BY 会保留与薪水和emp_no 匹配的日期的值,但是在考虑了一下之后,这样做没有任何意义。
非常感谢任何有关如何获取正确日期值的帮助。
【问题讨论】:
-
您能解释一下为什么在 SELECT 中需要 from_date、to_date 吗?
-
问题是你不能在
select上包含字段,如果你没有在group by上包含它 -
作业要求。
-
做同样的
emp_no在桌子上出现几次还是桌子上的主键? -
那么,您既需要最高薪水,也需要支付这些薪水的日期,对吧?
标签: mysql sql phpmyadmin