You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SQL统计Gmail及Yahoo邮箱员工数并按域名分组

现有SQL的问题

  • 语法错误:IN子句中OR后直接接SELECT语句不符合SQL语法规范,无法正常执行
  • 逻辑不符合需求:就算修正语法后,你的写法也只能返回Gmail和Yahoo邮箱的总员工数,无法按域名分类输出统计结果

正确实现方案

使用以下SQL即可得到你要求的输出格式:

SELECT 
  SUBSTRING_INDEX(emailid, '@', -1) AS email,
  COUNT(*) AS count
FROM employee
WHERE emailid LIKE '%@gmail.com' 
   OR emailid LIKE '%@yahoo.com'
GROUP BY SUBSTRING_INDEX(emailid, '@', -1);

如果是PostgreSQL环境,将SUBSTRING_INDEX(emailid, '@', -1)替换为SPLIT_PART(emailid, '@', 2)即可。

逻辑说明

  • 截取邮箱@符号后的域名作为统计分组的依据
  • 直接在WHERE层过滤仅保留Gmail和Yahoo后缀的邮箱,避免多余子查询提升执行效率
  • 按域名分组后统计每组的员工数量,输出结果和你要求的格式完全匹配

内容的提问来源于stack exchange,提问作者Sami Tarawneh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:45:03