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

如何对多列应用SQL的DISTINCT关键字?

SQL去重查询问题解答

你给出的SQL写法是错误的,SQL语法不允许在每个字段前单独添加DISTINCT关键字——DISTINCT是作用于整个查询的字段组合的,而非单个字段。

正确写法分两种场景:

场景1:获取所有代理与订单金额的唯一组合

如果只是想去除agent_name和order_amount的重复组合(包含所有代理的记录),正确SQL如下:

SELECT DISTINCT agent_name, order_amount
FROM your_table_name;

执行后会返回所有不重复的代理-金额组合,结果为:

agent_nameorder_amount
Justin500
Justin1000
Pablo750
Dinesh500

场景2:仅获取Justin的唯一金额组合

如果你的需求是只返回Justin的[500, 1000]两个组合,需要添加WHERE条件过滤代理名称:

SELECT DISTINCT agent_name, order_amount
FROM your_table_name
WHERE agent_name = 'Justin';

这个查询的结果完全符合你的要求:

agent_nameorder_amount
Justin500
Justin1000

补充说明:DISTINCT会自动对指定的所有字段组合进行去重,只要字段值的组合完全相同,就会被合并为一行,无需给每个字段单独标记DISTINCT。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:22:46