答案:DISTINCT用于去除查询重复行,支持单多列去重及与WHERE结合使用,但大数据量下可能影响性能。
在MySQL中,DISTINCT 是一个非常实用的关键字,用于从查询结果中去除重复的行,只返回唯一的数据。它通常用在 SELECT 语句中,帮助我们快速获取去重后的数据集合。
DISTINCT 的基本写法如下:
SELECT DISTINCT column_name FROM table_name;这条语句会从指定列中提取所有不重复的值。例如,假设有一张名为 orders 的表,其中包含多个客户的姓名,你想查看有哪些不同的客户,可以这样写:
SELECT DISTINCT customer_name FROM orders;DISTINCT 不仅支持单列去重,还可以作用于多列。当你对多个字段使用 DISTINCT 时,数据库会将这些字段的组合视为整体,只有当所有字段的值完全相同时,才会被视为重复。
SELECT DISTINCT column1, column2 FROM table_name;比如查询不同客户的姓名和城市组合:
SELECT DISTINCT customer_name, city FROM customers;这样返回的结果中,每一条记录的(customer_name, city)组合都是唯一的。
你可以在使用 DISTINCT 的同时添加 WHERE 子句,对去重前的数据进
行筛选。
这条语句会找出金额大于1000的所有订单中,不同的状态值。
基本上就这些。DISTINCT 是一个简单但强大的工具,适合快速提取唯一值。只要注意使用场景和性能影响,就能高效地完成去重任务。