MySQL Distinct用法详解
在MySQL中,DISTINCT
关键字用于返回唯一不同的值,可以应用于SELECT
语句里面。本文将详细介绍DISTINCT
的用法及示例代码,帮助读者更好地理解和运用这一特性。
语法格式
DISTINCT
关键字的基本语法格式如下:
SELECT DISTINCT column1, column2, ...
FROM table_name;
在上述语法中,SELECT
表示查询语句,DISTINCT
表示要返回唯一的不同值,column1, column2, ...
表示要查询的列名,table_name
表示要查询的表名。
示例数据库表
为了更好地演示DISTINCT
的用法,我们先创建一个示例的数据库表。以下是一个customers
表的创建SQL语句:
CREATE TABLE customers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
city VARCHAR(50)
);
INSERT INTO customers (name, age, city) VALUES ('Alice', 25, 'New York');
INSERT INTO customers (name, age, city) VALUES ('Bob', 30, 'Los Angeles');
INSERT INTO customers (name, age, city) VALUES ('Alice', 25, 'New York');
INSERT INTO customers (name, age, city) VALUES ('Charlie', 35, 'Chicago');
INSERT INTO customers (name, age, city) VALUES ('Alice', 25, 'New York');
通过上述SQL语句,我们创建了一个名为customers
的表,并插入了几条示例数据。
使用DISTINCT去除重复值
接下来,我们将演示如何使用DISTINCT
关键字去除重复值。假设我们想要查询customers
表中的城市信息,但不想显示重复的城市名称,可以使用以下SQL语句:
SELECT DISTINCT city
FROM customers;
以上SQL查询将返回去除重复值后的城市名称。执行以上查询,结果如下:
+-------------+
| city |
+-------------+
| New York |
| Los Angeles |
| Chicago |
+-------------+
3 rows in set
如上所示,通过使用DISTINCT
关键字,我们成功去除了重复的城市名称。
多列去重
DISTINCT
关键字也可以应用于多列,假设我们希望查询不重复的姓名和城市组合,可以使用如下SQL语句:
SELECT DISTINCT name, city
FROM customers;
执行以上查询,结果如下:
+---------+-------------+
| name | city |
+---------+-------------+
| Alice | New York |
| Bob | Los Angeles |
| Charlie | Chicago |
+---------+-------------+
3 rows in set
通过以上查询,我们得到了不重复的姓名和城市组合。
总结
本文介绍了MySQL中DISTINCT
关键字的基本语法格式和用法,通过示例演示了如何使用DISTINCT
去除重复值,以及在多列情况下去重的方法。