我有一个具有多个重复记录的表,如下所示:
ID Title
-----------------
1 Article A
2 Article A
3 Article B
4 Article C
5 Article A
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我需要所有重复的标题,只留下一个.
B条和C条都没有问题.除了一个,我需要删除文章A.
样本输出:
ID Title
-----------------
1 Article A
3 Article B
4 Article C
Run Code Online (Sandbox Code Playgroud)
注意:我不关心要保留或删除哪个ID.我想要的只是一条记录.
假设我有大量具有重复标题的记录
有什么建议吗?
我想在对两列放置唯一约束之前清理表中的一些数据.
CREATE TABLE test (
a integer NOT NULL,
b integer NOT NULL,
c integer NOT NULL,
CONSTRAINT a_pk PRIMARY KEY (a)
);
INSERT INTO test (a,b,c) VALUES
(1,2,3)
,(2,2,3)
,(3,4,3)
,(4,4,4)
,(5,4,5)
,(6,4,4)
,(7,4,4);
-- SELECT a FROM test WHERE ????
Run Code Online (Sandbox Code Playgroud)
输出应该是 2,6,7
我正在寻找第一个重复之后的所有行b,c
EX:
第1,2行有(2,3)为b,c第1行是可以的,因为它是第一个,2不是.
第4,6,7行有(4,4)为b,c第4行是可以的,因为它是第一个,6,7不是.
然后我会:
DELETE FROM test WHERE a = those IDs;
Run Code Online (Sandbox Code Playgroud)
..并添加唯一约束.
我正在考虑与自己进行测试相交,但不确定从那里开始做什么.
我的Solr索引有两种类型的用户(Type-A和Type-B),可以用称为“ type”的字段来标识。但是,用户可能同时在Type(A和B)下都有条目。
例如,
Jacob is a user who comes under both Types(A and B). So, he will have two documents in our Index like:
//document-1
name:...
type:A
age:...
//end of document-1
//document-2
name:...
Type:B
age:...
//end of document-2
Run Code Online (Sandbox Code Playgroud)
我的目标是
当搜索用户并且他只是Type-A时,他应该在结果中。
当搜索用户并且他只是B型用户时,他应该在结果中。
我们如何通过查询实现这一目标?
提前致谢!
虽然允许使用重复的行(和列)名称matrix,但不允许使用data.frame。尝试对rbind()具有共同行名的某些数据框突出显示此问题。考虑下面的两个数据帧:
foo = data.frame(a=1:3, b=5:7)
rownames(foo)=c("w","x","y")
bar = data.frame(a=c(2,4), b=c(6,8))
rownames(bar)=c("x","z")
# foo bar
# a b a b
# w 1 5 x 2 6
# x 2 6 y 4 8
# y 3 7
Run Code Online (Sandbox Code Playgroud)
现在尝试使用rbind()它们(请注意行名):
rbind(foo, bar)
# a b
# w 1 5
# x 2 6
# y 3 7
# x1 2 6
# z 4 8
Run Code Online (Sandbox Code Playgroud)
但是对于matrix:
rbind(as.matrix(foo), as.matrix(bar))
# a b
# …Run Code Online (Sandbox Code Playgroud) 下面是从对象列表中查找重复对象的代码.但由于某种原因,hashset甚至存储了相等的对象.
我肯定错过了一些东西,但是当我检查hashset的大小时,它出来了5.
import java.util.ArrayList;
import java.util.HashSet;
public class DuplicateTest {
public static void main(String args[]){
ArrayList<Dog> dogList = new ArrayList<Dog>();
ArrayList<Dog> duplicatesList = new ArrayList<Dog>();
HashSet<Dog> uniqueSet = new HashSet<Dog>();
Dog a = new Dog();
Dog b = new Dog();
Dog c = new Dog();
Dog d = new Dog();
Dog e = new Dog();
a.setSize("a");
b.setSize("b");
c.setSize("c");
d.setSize("a");
e.setSize("a");
dogList.add(a);
dogList.add(b);
dogList.add(c);
dogList.add(d);
dogList.add(e);
if(a.equals(d)){
System.out.println("two dogs are equal");
}
else System.out.println("dogs not eqal");
for(Dog dog : dogList){
uniqueSet.add(dog); …Run Code Online (Sandbox Code Playgroud) 我对编程和MATLAB相当新,我在从矩阵中删除值时遇到了一些问题.
我有矩阵tmp2的值:
tmp2 = [... ...
0.6000 20.4000
0.7000 20.4000
0.8000 20.4000
0.9000 20.4000
1.0000 20.4000
1.0000 19.1000
1.1000 19.1000
1.2000 19.1000
1.3000 19.1000
1.4000 19.1000
... ...];
Run Code Online (Sandbox Code Playgroud)
如何删除左栏中有1.0的部分,但右边的值是不同的?我想用19.1保存行.我搜索了解决方案,但发现一些使用histc函数删除两行,这不是我需要的.
谢谢
我尝试搜索并找不到这种确切的情况,所以如果它已经存在就道歉.
我正在尝试从列表中删除重复项以及我正在搜索的原始项目.如果我有这个:
ls = [1, 2, 3, 3]
Run Code Online (Sandbox Code Playgroud)
我想最终得到这个:
ls = [1, 2]
Run Code Online (Sandbox Code Playgroud)
我知道使用set会删除像这样的重复项:
print set(ls) # set([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)
但它仍然保留了3我想删除的元素.我想知道是否有办法删除重复项和原始匹配项.
如何删除iTunes Connect上的版本占位符?我在错误的应用程序上上传了一个版本,当我意识到我删除了二进制文件但我从未想过这个 - 我还可以删除占位符吗? - 因为尚未为此应用程序开发更新.
图片用于解释
如何从文件中删除多个标头?我从如何在Unix中删除文件中的重复行后,尝试使用以下代码?.
awk '!x[$0]++' file.txt
Run Code Online (Sandbox Code Playgroud)
它正在删除文件中的所有重复记录.但在我的情况下,我只需要删除标题重复项,而不是文件中的重复记录.例如,我有一个包含以下数据的文件:
column1, column2, column3, column4, column5
value11, value12, value13, value14, value14
value21, value22, value23, value24, value25
value31, value32, value33, value34, value35
value41, value42, value43, value44, value45
value51, value52, value53, value54, value55
value21, value22, value23, value24, value25
column1, column2, column3, column4, column5
value11, value12, value13, value14, value14
value21, value22, value23, value24, value25
column1, column2, column3, column4, column5
column1, column2, column3, column4, column5
Run Code Online (Sandbox Code Playgroud)
我期待输出如下:
column1, column2, column3, column4, column5
value11, value12, value13, value14, value14 …Run Code Online (Sandbox Code Playgroud) 给出一个向量:
例如.:
a = c(1, 2, 2, 4, 5, 3, 5, 3, 2, 1, 5, 3)
Run Code Online (Sandbox Code Playgroud)
使用a[a%in%a[duplicated(a)]]我可以删除不重复的值.但是,它仅适用于仅出现一次的值.
我将如何继续删除此三次中不存在的所有值?(或更多,在其他情况下)
预期结果将是:
2 2 5 3 5 3 2 5 3
Run Code Online (Sandbox Code Playgroud)
删除1和4,因为它们只出现两次和一次