1
8
这对你有用吗?
|
2
5
对于列出的数据,无法进行查询。第5行和第6行中的数据本身并不明显。 假设您的表名为“quux”,如果您从以下内容开始:
最后你会得到这个答案:
这是因为第5行和第6行的col3值相同。任何返回两行5&6的查询也将返回此数据集中所有行的重复项。 另一方面,如果您有主键(ID),则可以使用此查询:
[编辑以简化WHERE子句] 你会得到你想要的结果:
我刚在SQLServer2000上测试过这个,但是您应该在任何现代的SQL数据库上看到相同的结果。 blorgbeard 证明了我 wrong --对他有好处! |
3
4
像这样加入你自己:
如果您使用的是PostgreSQL,那么可以使用OID使其返回较少的重复结果,如下所示:
|
4
2
没有现成的数据库来测试这个,但我认为它应该可以工作…
|
5
2
我的天真尝试是
但这将返回所有行两次。我不知道你怎么能把它限制在只归还一次。如果有主键,可以添加“and a.pkey<b.pkey”。 就像我说的,这不优雅,可能有更好的方法来做到这一点。 |
6
2
这样的方法应该有效:
一般来说,join子句应该包括您认为是“副本”一部分的每一列(本例中为col1和col2),以及至少一列(或尽可能多的列),以消除与自身的行联接(本例中为col3)。 |
7
2
这与自联接非常相似,只是它没有重复项。
|
8
1
这是你如何找到副本的方法。在Oracle10g中使用您的数据进行测试。 从TST选择* 其中(col1,col2)in (从TST组中选择col1,col2,按col1,col2,计数为(*)>1) |
9
0
选择col1、col2、col3 从表 按col1、col2、col3分组 计数(*)>1 |
10
0
忘记联接--使用分析函数:
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
Max J. · 用整数作为键将dict写入csv 2 年前 |