如何从MySQL的一列中选择不同的值?
为了从一个列中选择唯一的值,可以使用MAX()和GROUP BY聚合函数。让我们首先创建一个表 –
mysql> create table distinctFromOneColumn
-> (
-> StudentId int,
-> StudentName varchar(100)
-> );
Query OK, 0 rows affected (0.77 sec)
接下来使用insert命令向表中插入记录,如下所示 –
mysql> insert into distinctFromOneColumn values(1001,'John');
Query OK, 1 row affected (0.15 sec)
mysql> insert into distinctFromOneColumn values(1002,'Carol');
Query OK, 1 row affected (0.15 sec)
mysql> insert into distinctFromOneColumn values(1001,'Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into distinctFromOneColumn values(1001,'David');
Query OK, 1 row affected (0.16 sec)
mysql> insert into distinctFromOneColumn values(1002,'Ramit');
Query OK, 1 row affected (0.15 sec)
mysql> insert into distinctFromOneColumn values(1003,'Bob');
Query OK, 1 row affected (0.21 sec)
以下是使用SELECT语句从表中显示所有记录的查询 –
mysql> select * from distinctFromOneColumn;
这将产生以下输出 –
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001 | John |
| 1002 | Carol |
| 1001 | Sam |
| 1001 | David |
| 1002 | Ramit |
| 1003 | Bob |
+-----------+-------------+
6 rows in set (0.00 sec)
以下是从一个列中选择不同值的查询 –
mysql> select StudentId,MAX(StudentName) AS StudentName
-> from distinctFromOneColumn
-> group by StudentId;
这将产生以下输出 –
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001 | Sam |
| 1002 | Ramit |
| 1003 | Bob |
+-----------+-------------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程