gpt4 book ai didi

SQLite:当整行不唯一时删除重复行

转载 作者:行者123 更新时间:2023-12-03 18:40:34 25 4
gpt4 key购买 nike

我正在创建一个 SQLite View 来跟踪客户电子邮件及其帐户。有些客户使用相同的电子邮件地址创建了多个帐户。使用 SQLite,有没有办法限制 View 只返回每封电子邮件一次,而不管该个人拥有多少个帐户?我不关心哪个帐户被丢弃(即 Jim1 或 Jim2)。

AccountName    Email
Jim1 Jim@example.com
Jim2 Jim@example.com
Shania Sh@example.com

该 View 将返回:
AccountName    Email
Jim1 Jim@example.com
Shania Sh@example.com

谢谢!

最佳答案

Email 将结果分组,然后取第一个或最后一个对应的记录:

  SELECT Email
, MIN(AccountName) AS Account
FROM table
GROUP BY Email;

更新 :
请注意,您可以向 email 列添加唯一约束,以便在您尝试第二次插入相同值时 SQLite 出错:
CREATE TABLE Users
( id INTEGER PRIMARY KEY
, email TEXT NOT NULL UNIQUE COLLATE NOCASE
, accountname TEXT NOT NULL COLLATE NOCASE
);

UNIQUE关于 email 的条款column 表示没有两行可以包含相同的值。
COLLATE NOCASE子句导致 SQLite 以不区分大小写的方式比较该行中的值(因此 'EMAIL' 和 'eMail' 将算作相等)。

关于SQLite:当整行不唯一时删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5381907/

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