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

如何在SQL查询中结合Distinct与Count实现按ID分组统计邮箱数量

SQL查询解决方案

你要实现的需求不需要单独对ID字段加DISTINCT去重,直接通过分组查询即可实现,分组后每个ID仅返回一行,天然满足ID去重的要求。

前提说明

从你提供的示例数据可以看到,同一个ID对应的ProductName是固定值(ID为a的所有行ProductName均为apple,ID为b的均为orange,以此类推),因此可以将ID和ProductName同时作为分组字段。

基础查询语句(匹配你给出的期望结果)

SELECT 
    ID,
    COUNT(Email) AS Count,
    ProductName
FROM Products
GROUP BY ID, ProductName

执行上述语句后返回的结果和你给出的期望输出完全一致。

去重Email计数的兼容写法

如果后续需求调整为统计每个ID下不重复的Email数量(即同一个ID下重复的Email仅计数1次),可以将计数逻辑修改为COUNT(DISTINCT Email),对应语句如下:

SELECT 
    ID,
    COUNT(DISTINCT Email) AS Count,
    ProductName
FROM Products
GROUP BY ID, ProductName

拓展提示

如果你需要在结果中保留原始查询里的ProductModel字段,只要确认同一个ID对应的ProductModel是唯一值,将ProductModel同时添加到SELECT查询列表和GROUP BY分组列表中即可。


内容的提问来源于stack exchange,提问作者Michael Yoo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:45:03