我想根据每个id的时间检索单个最新记录。 例如,如果我将id' s传递为 1& 2 ,结果应为2行,如下所述。
例如:
员工表
############################################## id time ############################################## 1 04-04-18 06:46:55.191000000 PM 1 04-04-18 06:43:30.846000000 PM 1 04-04-18 06:38:30.968000000 PM 2 04-04-18 06:33:32.811000000 PM 2 04-04-18 06:28:32.337000000 PM 2 04-04-18 06:23:31.256000000 PM 3 04-04-18 06:16:53.395000000 PM 3 04-04-18 06:13:30.292000000 PM 3 04-04-18 06:08:30.652000000 PM
预期结果
############################################## id time ############################################## 1 04-04-18 06:46:55.191000000 PM 2 04-04-18 06:33:32.811000000 PM
我尝试过下面提到的查询,但这会给出单一结果。 试过其他选择,无济于事。有什么建议吗?
SELECT * FROM Employee emp WHERE emp.id IN ('1','2') ORDER BY CREATED DESC FETCH FIRST 1 ROWS ONLY
答案 0 :(得分:0)
您应该可以使用Group By
运算符:
SELECT emp.id, emp.time FROM Employee emp WHERE emp.id in (1,2) GROUP BY emp.id ORDER BY ....
答案 1 :(得分:0)
SELECT
emp.id, MAX(emp.time) as EmpTime
FROM Employee emp
WHERE emp.id in (1,2)
GROUP BY emp.id
ORDER BY emp.id