首页 > 解决方案 > 从结果集中删除行,其中列对用户只有一个值

问题描述

我有一个结果集

name stage  value
---- -----  -----
jim      1      4
jim      1      8
paul     1      8
paul     1      8

想要删除 8 是针对一个人的唯一值的行

标签: sql

解决方案


如果您的数据库支持分析功能,那么您可以使用 count 如下:

Select * from
(Select t.*,
       Count(case when value <> 8 then 1 end) over (partition by name) as cnt
  From your_table t) t
Where cnt > 0

推荐阅读