gpt4 book ai didi

php - SQL - 过滤掉某些类型的重复项

转载 作者:可可西里 更新时间:2023-11-01 08:49:49 24 4
gpt4 key购买 nike

我正在使用包含大约 30,000 条记录的 MySQL 数据库,并试图提出一个查询来过滤掉某些类型的重复记录。

有两个相关列 - emailflag。我需要获取所有没有重复 email 的记录。对于具有重复 email 的记录,只有当所有这些重复项的 flag 设置为“否”时,我才会排除它们。如果其中一行的 flag 为"is",那么我需要返回所有这些记录。

到目前为止,我有这个:http://sqlfiddle.com/#!2/ac20d/6它当前返回第 3、4、5、6、7、11、12 行。我需要它返回 3,4,5,6,7,8,9,11,12。

任何帮助都将不胜感激!

谢谢!

最佳答案

我不明白你为什么不在结果中返回 10。它遵循您的规则,但它是一个空字符串。所以,我想出了这个:

select * from mytable where email IN (
select
email
from
mytable t
group by email
having count(email) = 1 or EXISTS (SELECT 1 FROM mytable st
WHERE t.email = st.email
AND st.flag = 'yes')
)
AND email != ''

这是你需要的吗?

sqlfiddle link

关于php - SQL - 过滤掉某些类型的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671598/

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