sql - 从结果集中删除行,其中列对用户只有一个值
问题描述
我有一个结果集
name stage value
---- ----- -----
jim 1 4
jim 1 8
paul 1 8
paul 1 8
想要删除 8 是针对一个人的唯一值的行
- 保留 2 个 jim 行并失去 2 个 paul 行
解决方案
如果您的数据库支持分析功能,那么您可以使用 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
推荐阅读
- javascript - 从 XML 文档加载 HTML 表时遇到问题
- javascript - 如何在某个标签后应用 CSS 规则
- database - Dexie:如何获取 MultiEntry Index 的所有值?
- python - 我如何解决 Windows 10 的这个 ildoonet / tf-pose-estimation 安装问题
- python - 用户输入后循环通过csv文件提取信息
- python - 没有抛出错误,python 创建空白文件,不知道如何排除故障
- elm - Elm:自定义类型的访问值
- c++ - COM 代理服务器超时
- python - python中多处理,异步和concurrency.futures之间的区别
- plugins - WebSocket 网络插件 Unreal Engine v4.22.3