腾讯云数据仓库 TCHouse-X DISTINCT 操作符

DISTINCT 用于在 SELECT 查询中过滤重复数据,仅保留唯一的行或值组合。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、单列去重

检索某一列中所有不重复的值。

·NULL 值处理:如果列中包含 NULL,DISTINCT 会将其作为一个独立的值返回。

— 返回客户所属的所有不重复国家SELECT DISTINCT c_birth_country FROM customer;

二、多列组合去重

检索多列字段的唯一组合。只有当所有指定列的值都完全相同时,才会被视为重复行。

— 返回称谓与姓氏的唯一组合SELECT DISTINCT c_salutation, c_last_name FROM customer;

三、与聚合函数结合 (COUNT DISTINCT)

常用于统计不重复项的数量。

·统计单列唯一值:COUNT(DISTINCT col) 会忽略 NULL 值,仅计算非空唯一值的个数。

SELECT COUNT(DISTINCT c_birth_country) FROM customer;

·统计多列组合唯一值:

SELECT COUNT(DISTINCT c_salutation, c_last_name) FROM customer;

四、数据区分度说明

在 TCHouse-X 中,DISTINCT 和 GROUP BY 对字符的敏感度极高,以下三者会被视为完全不同的独立值:

·零长度字符串 ("")

·NULL 值 (NULL)

·空格字符串 (" ")

五、注意事项与性能建议

·无序性预警:TCHouse-X 不会自动对 DISTINCT 后的结果进行排序。如果业务需要有序输出,必须显式添加 ORDER BY 子句。

·性能优化:在某些场景下,如果子查询中使用了 DISTINCT,可以考虑通过 JOIN 或 EXISTS 改写,以获得更优的执行计划。

赞 (0)
上一篇 4天前
下一篇 4天前