根据特定状态和相同 UUID 过滤表

Posted

技术标签:

【中文标题】根据特定状态和相同 UUID 过滤表【英文标题】:Filter table based on specific status and same UUIDs 【发布时间】:2018-12-04 17:54:25 【问题描述】:

我需要一些帮助来过滤具有相同 uuid 的不同帐户状态的此表,并保留至少一个状态为活动的所有 uuid

样本数据:

UUID   Status        
  1    Active        
  1    Rejected        
  1    Rejected        
  2    Rejected        
  2    Waitlisted       
  2    Processing        
  3    Active        
  3    Active       
  3    Processing 
  4    Rejected
  4    Processing      

预期输出:

UUID   Status        
  1    Active        
  1    Rejected        
  1    Rejected              
  3    Active        
  3    Active       
  3    Processing

我正在尝试使用某种 RANK 函数,但我没有找到一种方法来维护具有 Active 的 UUID 但状态不是 Active 的行。

谢谢

【问题讨论】:

【参考方案1】:

demo: db<>fiddle

SELECT * 
FROM status 
WHERE uuid IN 
    (SELECT uuid FROM status WHERE status = 'Active')
    选择具有Active 状态的uuids 用这些uuids 选择行

【讨论】:

@FlaviodeFalcaoeHelena 如果它解决了您的问题,请不要忘记接受(答案左上方的绿色钩子)。这向其他用户显示该主题已完成并已解决。如果任何答案在任何方面有帮助,请点赞。

以上是关于根据特定状态和相同 UUID 过滤表的主要内容,如果未能解决你的问题,请参考以下文章

kafka过滤/动态主题创建

显示特定数据而不过滤掉查询数据

如何根据状态编写过滤国家/地区的 sql 查询

选择作为过滤器的 SQL 更新表

SQL Server:仅过滤包含特定文本的行之后的行

SQL 选择由 Ids 标识并由另一个表中的特定类型过滤的行列表中的所有第一项