我有一个名为 Employee 的表,其中包含 3 列 EmployeeID 奖励日期和奖励
| EMPOYEEID | AwardDate | Award
|1 | 10-03-2018| EOY
|1 | 14-08-2018| EBF
|2 | 10-03-2017| EOY
|3 | 10-03-2016| EOY
|2 | 31-12-2017| COINS
|1 | 31-08-2017| COINS
在oracle中使用SQL查询,我想要的是不使用分析功能,我想在一次扫描中获得每个员工的第一个奖励和最后一个奖励日期。 下面是示例
ID|最后日期|一等奖
1|2018年3月10日|2017年8月31日
2|2017年12月31日|2017年3月10日
最佳答案
使用聚合函数
select EMPOYEEID, max(AwardDate) LastDate, min(AwardDate) FirstAward
from table_name t1
group by EMPOYEEID
关于mysql - SQL查询一次扫描即可获得结果,无需使用分析功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320468/