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

SQL如何实现每个用户名仅返回1行 即便关联多条唯一操作系统记录

解决方法

方案1:仅对用户名字段应用DISTINCT

你之前用DISTINCT仍返回重复用户名的原因是SELECT列表里包含了操作系统字段,不同的Windows版本会让整条记录被判定为唯一,自然无法对用户名去重。只要调整查询字段,仅返回用户名即可:

SELECT DISTINCT 用户名
FROM 你的表名
WHERE 操作系统字段 LIKE '%windows%';

对应你给出的示例数据,执行后只会返回JohnDoe、JennyDoe两条不重复的用户名记录。

方案2:用GROUP BY分组实现

如果后续你需要附加统计需求(比如同时查询每个用户使用过多少款不同的Windows系统),可以用分组逻辑实现:

SELECT 用户名
FROM 你的表名
WHERE 操作系统字段 LIKE '%windows%'
GROUP BY 用户名;

需要统计时直接在SELECT后追加COUNT(DISTINCT 操作系统字段) AS 使用过的Windows版本数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:45:04