gpt4 book ai didi

mysql比较2个子字符串列

转载 作者:行者123 更新时间:2023-11-29 16:44:37 25 4
gpt4 key购买 nike

我正在尝试根据电子邮件表查找表中有多少个相似域。

示例数据:

domains              emails
_______ ______
gmail.nl test@google.com
gmail.com test@gmail.com
gmail.uk

我尝试使用此查询:

SELECT (SELECT COUNT(*) FROM domains
WHERE
right(domain, INSTR(domain, '.')-1)
LIKE
CONCAT('%', right(email, length(email)-INSTR(email, '@')), '%')) as "total",
right(email, length(Email)-INSTR(Email, '@')) FROM emails GROUP BY email

在这里,我将一个表中的字符串的一部分与另一个表中的另一个子字符串进行比较。
看看这个 DBFIDDLE:https://www.db-fiddle.com/f/kdf9iwaEPPz6kMpHqWhZkh/0

每行的结果都是 0,但 gmail 的结果应该是 3。
有谁知道如何做到这一点?

最佳答案

我想我会修复它:

这是我现在的查询:

SELECT (SELECT COUNT(*) FROM domains
WHERE
emails.email
LIKE
CONCAT('%', LEFT(domain, INSTR(domain, '.')-1), '%')
) as "total",
right(emails.email, length(emails.email)-INSTR(emails.email, '@')) FROM emails GROUP BY emails.email

我得到了想要的结果!
我切换了列并从电子邮件中删除了子字符串。

关于mysql比较2个子字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53155450/

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