如果表中的值重复,如何仅选择一次所有值?

mysqlmysqli database更新于 2024/12/29 5:32:17

如果表中的值重复,您可以使用 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)

使用 insert 命令在表中插入一些记录。

查询如下。

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;

The output

+----------+
| UserName |
+----------+
| Larry    |
| Mike     |
| Sam      |
| Carol    |
| Bob      |
+----------+
5 rows in set (0.00 sec)

案例 2 - 在 UserAge 列名称中。

查询如下。

mysql> select distinct UserAge from displayOnlyDistinctValue;

The output..

+---------+
| UserAge |
+---------+
| 23      |
| 21      |
| 25      | 
| 26      |
| 27      |
| 22      |
+---------+
6 rows in set (0.00 sec)

相关文章


有用资源