我有一个postgres表fetches
下面列基础上多列选择唯一的记录检查
id | status | company_id | created_at
-------------------------------------------
10 | success | 2773 | 2017-03-14
11 | error | 190 | 2017-03-02
12 | error | 303 | 2017-03-01
13 | error | 286 | 2017-02-16
14 | error | 2773 | 2016-12-05
我想达到以下结果:
id | status | company_id | created_at
-------------------------------------------
11 | error | 190 | 2017-03-02
12 | error | 303 | 2017-03-01
13 | error | 286 | 2017-02-16
这是我想的逻辑适用于:
- 获取所有提取的状态为
error
。 - 如果结果包含任何
company_id
,其最新的fetch
(由created_at
)为success
然后从最终结果集中跳过它。 company_id = 2773
将被跳过,因为它是最新的获取状态是success
请告知我如何在SQL的方式做到这一点。
当你改变你想达到的目标,请将其标记为更新。现在你有3个工作方法,每个都在做你说的你需要的东西,但是你的新定义废弃了所有的三个... –
我会确保这么做!并更新这一个!但是#3和#2点都指向我之前说过的,但是以更详细的方式。 –