gpt4 book ai didi

sql - 如何删除 sqlite 中的重复行,其中包括 ID 的每一列都是重复的?

转载 作者:IT王子 更新时间:2023-10-29 06:29:40 25 4
gpt4 key购买 nike

<分区>

我正在使用 sqlite。我正在导入一个数据集,其中 ID 在外部分配到一个临时表中,然后再将它们插入到我的永久表中。永久表使用外部 ID (RunId),没有其他 ID 列。

我将表从 csv 导入新表 Book1,其中 C15 是 ID 列。然后我运行插入:

INSERT INTO PrimusRuns (RunId, TransientName, RunDateStart, RunType, TestDateStart,
Gross, CPS, Shares, MaxExposure, PercentWin, Duration)
SELECT a.C15, a.C1, JULIANDAY(a.C2), a.C3,JULIANDAY(a.C4),
a.C6, a.C8, a.C9, a.C10, a.C11, a.C14
FROM Book1 as a;

但是我得到一个主键约束错误:

[19] [SQLITE_CONSTRAINT_PRIMARYKEY] A PRIMARY KEY constraint failed (UNIQUE constraint failed: PrimusRuns.RunID)

首先我认为其中一些行已经在表中但是正在运行:

SELECT * FROM Book1 WHERE C15 IN(
SELECT RunID from PrimusRuns
);

什么都不返回。

然后我在运行时意识到导入中有重复的行:

SELECT * FROM Book1 GROUP BY C15 HAVING COUNT(*) > 1

此聚合查询返回 95 行,这意味着我必须删除至少 95 行。如何删除告诉它删除重复项?

注意:还有其他类似的问题,但我的问题不同之处在于 id 也是重复的。其他问题将列的所有其余部分分组并删除 max(id)。但在我的例子中,max id 返回两行,而不仅仅是一行。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com