sql - 如果观察值(记录)在变量(列)中重复,则删除它
问题描述
这是我的数据:
我喜欢编写一个代码来删除第二个观察值(突出显示)如果 Var1 重复且 Var3 为 1。所以我的结果表如下所示:
此外,这些重复可能会以任何顺序弹出。例如,Var3 在重复序列的开头、中间和结尾都可以是“1”。
谢谢
解决方案
如果我理解正确,您希望仅在它们是 give 的唯一值时才保留“1”值var1
。如果这是正确的,那么在 SQL 中执行此操作的一个说法是:
select t.*
from t
where var3 <> 1 or
not exists (select 1 from t t2 where t2.var1 = t.var1 and t2.var3 <> 1);
推荐阅读
- mysql - 不知道如何使用计算和列加入
- angular - url中的查询参数不适用于角度
- java - 在 Android 中实现音频应用通知
- r - curl 中的错误:Curl Fetch Memory - RStudio Curl Memory - 写入正文失败
- python - 从列表中删除重复项(算法速度)
- objective-c - 无法加载 ocMockito
- c# - 使用 Visual Studio 的自定义安装程序
- c - 如何打印无效的字母
- apache - 在 Linux 上安装 jasperserver 后,Tomcat 欢迎页面未显示
- c++ - std::variant 的 noexcept 访问