作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用包含大约 30,000 条记录的 MySQL 数据库,并试图提出一个查询来过滤掉某些类型的重复记录。
有两个相关列 - email
和 flag
。我需要获取所有没有重复 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 != ''
这是你需要的吗?
关于php - SQL - 过滤掉某些类型的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671598/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!