我需要找到每个用户在'失败'时具有特定状态的最新3条记录。起初看起来很简单,但我似乎无法做到。找到相同状态的最新3条记录
所以在一个表:
ID Date Status
1 2017-01-01 Fail
1 2017-01-02 Fail
1 2017-02-04 Fail
1 2015-03-21 Pass
1 2014-02-19 Fail
1 2016-10-23 Pass
2 2017-01-01 Fail
2 2017-01-02 Pass
2 2017-02-04 Fail
2 2016-10-23 Fail
我希望ID 1返回为最近3个记录是失败的,但不是ID 2,因为他们有内他们的三个失败的通行证。每个用户可能有任何数量的通过和失败记录。有成千上万个不同的ID
到目前为止,我已经尝试了使用ROW_NUMBER()命令进行尝试的CTE,但无法想出一种方法来确保最新的三个结果都具有相同的Fail状态。
预期结果
ID Latest Fail Date Count
1 2017-02-04 3
向我们展示您的查询的尝试! – jarlh
你可以添加预期的结果fot它 –
@jarlh查询尝试不起作用,所以没有多少点显示它 - 我做了几次尝试,所以我不只是寻找一个简单的答案放心。 – bhs