PostgreSQL:根据一组记录中的值保留一组记录

时间:2019-02-20 14:52:39

标签: sql postgresql

我有一组这样的数据:

enter image description here

我想构建一个SELECT语句,该语句不考虑与 id 共享且在 value 字段中具有“ NaN”的记录的记录(加上“ NaN”记录自身)。

结果应如下所示:

enter image description here

如何实现?

1 个答案:

答案 0 :(得分:1)

使用not exists

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.id = t.id and t2.value = 'NaN'
                 );

如果您的值是浮点型,并且NaN引用Postgres常量,则将逻辑写为:

                  where t2.id = t.id and t2.value = 'NaN'::float