如何在DBeaver中用SQL查询获取表中仅出现一次的邮箱值
筛选仅出现一次的邮箱SQL写法
核心逻辑为对邮箱字段分组后统计出现频次,过滤出频次为1的分组即可,通用写法如下:
-- 请将下面的「你的表名」替换为实际存储邮箱的数据表名 -- 若邮箱字段包含特殊字符(如示例中的e-mails带横杠),请根据你使用的数据库类型对字段名做转义 SELECT 邮箱字段名 FROM 你的表名 GROUP BY 邮箱字段名 HAVING COUNT(*) = 1;
不同数据库适配说明
针对你给出的字段名e-mails(带横杠属于特殊字符),不同数据库的转义写法如下:
- MySQL语法:用反引号包裹特殊字段名
SELECT `e-mails` FROM 你的表名 GROUP BY `e-mails` HAVING COUNT(*) = 1;
- PostgreSQL、Oracle语法:用双引号包裹特殊字段名
SELECT "e-mails" FROM 你的表名 GROUP BY "e-mails" HAVING COUNT(*) = 1;
执行效果说明
对应你给出的示例数据,上述SQL执行后会直接返回唯一仅出现一次的sally@abc.com,无需提前预设任何邮箱值,会自动遍历全表统计筛选。
内容的提问来源于stack exchange,提问作者Gabriel Verrone
相关产品推荐
相关产品推荐

