如何只选择一次表中重复的值?
如果表中有重复的值,可以使用distinct关键字只选择一次。
语法如下
select distinct yourColumnName from yourTableName;
为了理解上面的语法,让我们创建一张表。创建表的查询语句如下。
mysql> create table displayOnlyDistinctValue
-> (
-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName varchar(100),
-> UserAge int
-> );
Query OK, 0 rows affected (0.47 sec)
使用插入命令在表中插入一些记录。
查询语句如下。
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Larry',23);
Query OK, 1 row affected (0.23 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Mike',23);
Query OK, 1 row affected (0.13 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Larry',21);
Query OK, 1 row affected (0.16 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Sam',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Carol',25);
Query OK, 1 row affected (0.16 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Sam',26);
Query OK, 1 row affected (0.14 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Sam',27);
Query OK, 1 row affected (0.13 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Bob',22);
Query OK, 1 row affected (0.17 sec)
mysql> insert into displayOnlyDistinctValue(UserName,UserAge) values('Larry',22);
Query OK, 1 row affected (0.16 sec)
使用select语句显示表中的所有记录。
查询语句如下。
mysql> select *from displayOnlyDistinctValue;
以下是输出结果。
+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 1 | Larry | 23 |
| 2 | Mike | 23 |
| 3 | Larry | 21 |
| 4 | Sam | 23 |
| 5 | Carol | 25 |
| 6 | Sam | 26 |
| 7 | Sam | 27 |
| 8 | Bob | 22 |
| 9 | Larry | 22 |
+--------+----------+---------+
9 rows in set (0.00 sec)
以下是选择一次表中重复的值的查询语句。
情况1 - 在UserName列名中。
查询语句如下。
mysql> select distinct UserName from displayOnlyDistinctValue;
输出结果
+----------+
| UserName |
+----------+
| Larry |
| Mike |
| Sam |
| Carol |
| Bob |
+----------+
5 rows in set (0.00 sec)
情况2 - 在UserAge列名中。
查询语句如下。
mysql> select distinct UserAge from displayOnlyDistinctValue;
输出结果。
+---------+
| UserAge |
+---------+
| 23 |
| 21 |
| 25 |
| 26 |
| 27
阅读更多:MySQL 教程
极客教程