【发布时间】:2012-09-03 10:45:11
【问题描述】:
我有一点问题。我需要在我们的数据库中从用户 ID 中选择一个状态。问题是,每个用户 ID 都有多行,带有不同的日期戳。在数据库中保留历史记录。
我尝试过按 UserID 分组,但它会在某些用户上为我提供多行,而不是我想要的仅最新行。
这是我的查询:
select status, userid from EmployeeTable
where UserId in ('nis','rele')
and asofdate in
(select max(asofdate) from
EmployeeTable
where userid in ('nis','rele')
group by userid
)
所以 EmployeeTable 有 AsOfDate 列,它基本上是更新日期。所以我只想要特定 UserID 的 AsOfDate 最高的行。 我究竟做错了什么? 我猜这与我使用 in 子句有关。我输入的用户 ID 越多,输出多行的用户 ID 就越多,但我需要能够一次选择多个用户,以提高性能。
【问题讨论】: