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

时间:2018-12-04 17:54:26

标签: postgresql filtering

我想要一些帮助,以相同的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函数,但是我没有找到一种方法来维护具有UUID(具有Active)但状态不是Active的行。

谢谢

1 个答案:

答案 0 :(得分:1)

demo: db<>fiddle

SELECT * 
FROM status 
WHERE uuid IN 
    (SELECT uuid FROM status WHERE status = 'Active')
  1. 选择状态为uuid的{​​{1}}
  2. 选择具有这些Active的行