如何在MySQL中选择唯一值?

您可以借助DISTINCT关键字选择唯一值。

语法如下

select distinct yourColumnName from yourTableName;

为了理解上述语法,让我们创建一个表。创建表的查询如下

mysql> create table selectUniqueValue
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Name varchar(20),
   -> Age int
   -> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into selectUniqueValue(Name,Age) values('John',21);
mysql> insert into selectUniqueValue(Name,Age) values('Carol',21);
mysql> insert into selectUniqueValue(Name,Age) values('Sam',22);
mysql> insert into selectUniqueValue(Name,Age) values('Mike',22);
mysql> insert into selectUniqueValue(Name,Age) values('David',22);
mysql> insert into selectUniqueValue(Name,Age) values('Larry',23);
mysql> insert into selectUniqueValue(Name,Age) values('Bob',23);
mysql> insert into selectUniqueValue(Name,Age) values('Maxwell',22);
mysql> insert into selectUniqueValue(Name,Age) values('Robert',21);

现在,您可以使用select语句显示表中的所有记录。查询如下-

mysql> select *from selectUniqueValue;

以下是输出

+----+---------+------+
| Id | Name    | Age  |
+----+---------+------+
|  1 | John    |   21 |
|  2 | Carol   |   21 |
|  3 | Sam     |   22 |
|  4 | Mike    |   22 |
|  5 | David   |   22 |
|  6 | Larry   |   23 |
|  7 | Bob     |   23 |
|  8 | Maxwell |   22 |
|  9 | Robert  |   21 |
+----+---------+------+
9 rows in set (0.00 sec)

以下是选择唯一值的查询

mysql> select distinct Age from selectUniqueValue;

以下是输出

+------+
| Age  |
+------+
|   21 |
|   22 |
|   23 |
+------+
3 rows in set (0.00 sec)