我有一个包含500,000+记录的表,以及ID、名字、姓氏和电子邮件地址字段。我要做的是查找名字和姓氏都重复的行(因为同一个人有两个单独的ID、电子邮件地址或其他地址,它们在表中出现不止一次)。我想我知道如何使用GROUP BY查找重复项,这就是我所拥有的:
SELECT first_name, last_name, COUNT(*)
FROM person_table
GROUP BY first_name, last_name
HAVING COUNT(*) > 1
问题是,我需要将具有这些重复名称的整个行移到不同的表中。有没有一种方法可以找到重复项并获得整个行?或者至少也能拿到ID
我想合并我的df中的行,这样每个ID/Name就有一个唯一的行,其他值可以相加(收入),也可以连接起来(主题和产品)。但是,在我要连接的地方,我不希望出现重复项。
我的df类似于:
ID Name Revenue Subject Product
123 John 125 Maths A
123 John 75 English B
246 Mary 32 History B
312 Peter 67 Maths A
312 Peter 39 Science A
我有两个表,table1包含22780行。现在,我离开了使用table2 (不包含任何重复项)的join table2,我得到了23588行。
SELECT * FROM Table1
left join Tabelle6 ON CAST(Table1.Customer AS Int) = table2.Customer
为什么我现在有更多的行?我只需要table1中的每一行一次。
编辑:找到我的问题,表2确实包含重复的内容。但是,是否有任何方法只连接每一行一次而忽略任何进一步的匹配?
我已经编写了一个查询,根据在主表中找到的条件筛选一个表,然后删除与第三个表匹配的行。我在Access中执行查询,所以不能使用减号。它可以工作,但我发现它返回了部分(但不是全部)所选记录的重复行。我用DISTINCT修复了它,但我不知道为什么它一开始会返回重复项。这是一个非常简单的查询:
select distinct sq.*
from
(select List_to_Check.*, Master_List.SELECTION_VAR
from List_to_Check
left join Master_List
on List_t
我正在从具有重复uuid的表中查询,并且我希望删除重复项。我还想排除一些不相关的数据,这些数据需要连接到另一个表上。我可以删除重复数据,然后排除不相关的数据,或者我可以交换顺序,排除然后删除重复数据。直观地说,我觉得如果有什么不同的话,那就是先删除重复项然后连接,应该比连接然后删除重复项产生更多的行,但这与我看到的情况正好相反。这里我漏掉了什么?
在这个查询中,我删除了第一个子查询中的重复项,并在第二个子查询中进行了过滤,得到了500k行:
with tbl1 as (
select distinct on (uuid) uuid, foreign_key
from original_data
数据库为SQL Server 2008。我有一个从一个或多个表中提取行的查询,然后尝试将它们插入到表变量中。
我想要一种有效的方法来防止重复插入,所以我想到的是:
INSERT INTO @MyTableVariable
SELECT SomeID
FROM SomeTable st
INNER JOIN SomeOtherTable sot ON sot.SomeID = st.SomeID
LEFT JOIN @MyTableVariable t ON t.SomeID = sot.SomeID
WHERE t.SomeID IS NULL
然而,在某些情况下,这似乎并不能防止重复插入。
这个问题是关于SQL UNION操作符查找重复行的内部方法--而不是编写我们自己的查询来比较2行。
例如,考虑一下,我使用的是带有2个select查询的union。每个选择是连接5个或6个表,并在结果集中有10列。
问题是:UNION如何找到重复的行?column1 of select1和column1 of select2 & column2 of select1和column2 of select2 .
当我在每个选择中有10列时,结果包含7000行(例如)。
当select语句中有9或11列时(但连接/查询逻辑没有改变)--结果包含不同的行数,而不是7000行。
有人能解释一下,
在下面的例子中,当我做两个左连接以获得"event_name“时,我得到了重复的东西。我得到了112个这样设置的案例。但是,如果我去掉两个左连接行并运行查询,我会得到正确的100条没有重复的记录。我用下面的代码尝试了DISTINCT,但我仍然得到了112个副本。
SELECT "cases"."id", "cases"."date", "cases"."name", "event"."event_name"
FROM "cases"
LEFT
我在Excel中使用VBA删除活动区域中的重复值,该区域的长度约为12000行,并且在单个列内。但是,当我在所选区域上运行RemoveDuplicates命令时,它会删除重复值所在的整个行。我的代码显示如下:
Sub Dedupe()
Range("B1").Select
ActiveCell.Resize(12109, 1).Select
ActiveCell.RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
我的问题是,这会删除相邻列中的重要数据,我计划接下来删除这些列中的重复数据。我想让这个过程循环遍历大约900
如何在SQL- (b,a)中将行(a,b)和(b,a)筛选为单行(a,b)?
在SQL中,我使用它自己连接一个表,并提取主键匹配和其他一些属性不匹配的所有行。
结果是,每一行结果都是“重复”的。如何像上面描述的那样过滤这些内容?
SELECT t1.courseId, t1.teacherId, t2.teacherId
FROM Gives AS t1 INNER JOIN Gives AS t2 ON t1.courseId = t2.courseId AND t1.teacherName <> t2.teacherName
给出结果:
dIntProg mch jat
dIn
我不确定这个问题的解决方案在纯SQL中是难以置信的、简单的还是不可能的。
我有一个2列的简单表
Number Text
1 a
1 b
2 m
3 x
3 y
3 z
现在的任务是:搜索所有重复的数字,并显示使用这些重复数字的“文本”。
我们看到:1两次使用(a和b),3用于x、y和z,但没有一行完全重复。
编辑:所以我期待这样的事情。
Dup_Num Text
1 a
1 b
3 x
3
我有一张这样的桌子
CREATE TABLE IF NOT EXISTS users_groups(
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT(11) UNSIGNED NOT NULL,
name VARCHAR(250) NOT NULL,
is_deleted BOOLEAN NOT NULL DEFAULT false,
creation_date DATETIME NOT NULL,
last_modification_date DATETIME NOT NULL,
PRIMARY K
如果一列中有重复,我对“整行删除”有问题。如果B栏有重复,我想删除整行。
我的桌子上有A,B,C,D列。如果我标记B列,我使用删除重复-它将删除只是重复从B栏,如何摆脱整行,如果有重复在B栏?
有什么建议吗?
真的谢谢
Example:
A B C D
car.name car.color car.price 250 000
car.value car.color car.speed 250 km/h
在这个例子中,我想删除第二行(B列