SELECT DISTINCT column_nameFROM table_name;例如,去除表 employees 中 name 列中的重复值:

mysql去重怎么去

来源:这里教程网 时间:2026-02-28 18:13:00 作者:

MySQL 中如何去重

在 MySQL 中进行数据去重,有多种方法可以实现。

1. 使用 DISTINCT 关键字

DISTINCT
关键字用于消除查询结果中的重复行,仅保留不重复的数据。使用方式如下:

<code class="sql">SELECT DISTINCT column_name
FROM table_name;</code>

例如,去除表

employees
name
列中的重复值:

<code class="sql">SELECT DISTINCT name
FROM employees;</code>

2. 使用 GROUP BY 语句

GROUP BY
语句将结果集分组,并仅返回每个组中的第一个值。使用方式如下:

<code class="sql">SELECT column_name
FROM table_name
GROUP BY column_name;</code>

例如,去除表

orders
product_id
列中的重复值:

<code class="sql">SELECT product_id
FROM orders
GROUP BY product_id;</code>

3. 使用 UNIQUE 索引

为表中的特定列创建唯一索引,可以确保该列中的数据唯一。创建唯一索引的语法如下:

<code class="sql">CREATE UNIQUE INDEX index_name ON table_name(column_name);</code>

例如,为表

customers
中的
email
列创建唯一索引,以防止重复的电子邮件地址:

<code class="sql">CREATE UNIQUE INDEX email_index ON customers(email);</code>

4. 使用 UNION ALL

UNION ALL
操作符可以将多个查询的结果合并为一个结果集,同时保留所有行,包括重复的行。通过将查询与
UNION ALL
自身进行连接,可以去除重复行。

<code class="sql">SELECT column_name
FROM table_name
UNION ALL
SELECT column_name
FROM table_name;</code>

例如,去除表

products
name
列中的重复值:

<code class="sql">SELECT name
FROM products
UNION ALL
SELECT name
FROM products;</code>

相关推荐