gpt4 book ai didi

sql - 根据多列检查选择唯一记录

转载 作者:行者123 更新时间:2023-11-29 14:37:05 25 4
gpt4 key购买 nike

我有一个 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

这是我试图应用的逻辑:

  1. 获取状态为错误的所有抓取。
  2. 如果结果包含任何company_id,最新的fetch(由created_at)是成功然后跳过它来自最终结果集。
  3. company_id = 2773 将被跳过,因为它的最新获取状态是 success

请告知我如何以 SQL 方式完成此操作。

最佳答案

尝试外连接:

with succ as (select company_id from fetches where status = 'success')
select fetches.*
from fetches
left outer join succ on succ.company_id = fetches.company_id
where succ.company_id is null;

关于sql - 根据多列检查选择唯一记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42790699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com