sql - 如何只选择表中符合条件的行,避免 SQL 中的重复
问题描述
所以我有一个如下的df:
USER Value object
0001 V V
0002 A NULL
0002 C C
0003 A NULL
0004 A NULL
0004 A NULL
0003 V V
所以我基本上想USER
成为这个DF每一行的唯一ID。如果列中有一个A
,Value
我只想要它,如果这是 ID 的唯一选项。所以有两个002
,我只想看看没有的实例A
,所以C
。
因为0004
没有非A
Value
,我就拿了A
。
最后结果:
USER Value
0001 V
0002 C
0003 V
0004 A
解决方案
这将返回每个元组的一个值,最后返回 A(如果 A 是潜在值中的最小值):
select USER, max(Value) as value from Table
group by User
或者,如果他们有多个具有不同对象的元组,这可能会返回多个用户(当不为空时)
select distinct user, coalesce(object, value)
from table ;
推荐阅读
- docker - 是否有任何允许 USB 设备映射的多主机容器编排工具?或任何生产级解决方案/黑客?
- c# - 从另一个方法获取对象
- java - Java Activity 上的自定义 NDK 视图?
- blazor - Blazor:将复杂类型作为参数传递
- angular - 关于 TypeScript 和函数的快速问题
- flutter - 从异步方法返回多个结果?
- canvas - 使用文本设置画布宽度适用于所有精灵
- c# - Eto.Forms 异步命令执行的处理程序未更新 TableLayout
- python - 不断出现错误消息的问题“警告,在下一帧之前完成了太多迭代......”
- boto3 - Python boto3 - 在安全组下添加规则描述