【发布时间】:2015-09-26 21:01:18
【问题描述】:
我正在尝试找到一种方法来标记类似于 question 的重复案例。
但是,我不想计算重复值的出现次数,而是将它们分别标记为 0 和 1,分别用于重复和唯一的情况。这与SPSS 的识别重复案例功能非常相似。例如,如果我有这样的数据集:
Name State Gender
John TX M
Katniss DC F
Noah CA M
Katniss CA F
John SD M
Ariel FL F
如果我想标记具有重复名称的那些,那么输出将是这样的:
Name State Gender Dup
John TX M 1
Katniss DC F 1
Noah CA M 1
Katniss CA F 0
John SD M 0
Ariel FL F 1
一个额外的好处是一个查询语句,它将在确定唯一案例时处理要选择的案例。
【问题讨论】:
-
1) 您的表是否有主键(例如 id)? 2) 为什么 {John,TX} 是一个骗子,而 {John,SD} 不是? 3) 为什么 {Ariel,FL} 是重复的? 4) {Noah,CA} 相同
-
对于这个例子,我们可以假设名字是主键。我可能措辞错误,但爱丽儿和诺亚不是重复的。这是 Ariel 和 Noah 的第一次出现,因此它被标记为 1。而第二个 Katniss 和 John 为零,因为之前有 Katniss 和 John(第 1 行和第 2 行)。
-
你把标志倒过来了。 (这就是为什么我将结果列命名为
nodup) -
我对倒置的内容感到困惑(所以我可以修复它)。这个想法是为唯一案例获得 1,为重复案例获得 0。这有帮助吗?
-
那很好,但是请不要将变量命名为
Dup,那么。将其命名为NoDup或Wanted,或任何描述其用途的名称。
标签: postgresql duplicates