【发布时间】:2020-03-08 03:15:16
【问题描述】:
EMPLOYEE(id,emp_name)
1, John
2, Michael
3, Philip
====================
RANK(id,emp_id,date,rank)
1,1,1583413078445,SE
2,1,1583413087085,SSE
3,1,1583413092169,PM
4,2,1583413131802,SE
5,3,1583413536655,SE
我要展示
员工id、员工姓名和最新Rank(其id为rank表中emp_id的最大值或longdate为rank表中emp_id的最大值)
id,name,Rank
1, John, PM
2, Michael, SE
3, Philip, SE
我正在使用 java,我的数据库是 mysql 和 sqlite(以防脱机) 我尝试了一些方法,但无法聚合查询。
【问题讨论】:
-
为什么 PM 给 John 而不是 SSE 或 SE?
-
@stickybit,因为 John (emp_id=1) 的排名表最新条目是 PM
-
你怎么知道哪一个是最新的?你需要一个列来排序。关系数据库中的表本身没有顺序。
-
@stickybit,Rank表中有两列,emp_id为max(id),emp_id为max(longdate)
-
到目前为止,您尝试了什么,得到了什么结果(与预期不同)?