数据库教程-mariadb教程-MariaDB Distinct子句

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

MariaDB DISTINCT子句用于在SELECT语句中从结果中删除重复项。

语法:

SELECT DISTINCT expressions   FROM tables   [WHERE conditions]; 

1. 使用单一表达式示例

有一个名称为students的表,有一些重复的条目。例如,就有两个学生的名字叫:Maxsu。可以先来看看students表的中的全部数据记录。

MariaDB [testdb]> select * from students; +------------+--------------+-----------------+----------------+ | student_id | student_name | student_address | admission_date | +------------+--------------+-----------------+----------------+ |          1 | Maxsu        | Haikou          | 2017-01-07     | |          3 | JMaster      | Beijing         | 2016-05-07     | |          4 | Mahesh       | Guangzhou       | 2016-06-07     | |          5 | Kobe         | Shanghai        | 2016-02-07     | |          6 | Blaba        | Shengzhen       | 2016-08-07     | |          7 | Maxsu        | Sanya           | 2017-08-08     | +------------+--------------+-----------------+----------------+ 6 rows in set (0.00 sec) 

现在,使用DISTINCT子句查询去除表中的重复项。参考以下语句 –

SELECT DISTINCT student_name FROM Students; 

执行上面语句,得到以下结果 –

MariaDB [testdb]> SELECT DISTINCT student_name FROM Students; +--------------+ | student_name | +--------------+ | Maxsu        | | JMaster      | | Mahesh       | | Kobe         | | Blaba        | +--------------+ 5 rows in set (0.00 sec) 

可以看到上面结果中,在使用DISTINCT子句之后,重复的条目被删除返回一次。即,名字为:Maxsu的行记录只有一条。

2. 使用多个表达式

可以使用DISTINCT子句从MariaDB中的多个表达式中删除重复项。为了更容易说明问题,我们首先再向students表中插入一些数据。

INSERT INTO students   (student_name, student_address, admission_date) VALUES('Maxsu','Haikou','2015-11-17 00:00:00'); 

在执行上面插入语句后,students表中名字为:Maxsu的学生一共有3有三位,两位的地址在:Haikou,一位的地址在:Sanya,如下所示 –

MariaDB [testdb]> select * from students; +------------+--------------+-----------------+----------------+ | student_id | student_name | student_address | admission_date | +------------+--------------+-----------------+----------------+ |          1 | Maxsu        | Haikou          | 2017-01-07     | |          3 | JMaster      | Beijing         | 2016-05-07     | |          4 | Mahesh       | Guangzhou       | 2016-06-07     | |          5 | Kobe         | Shanghai        | 2016-02-07     | |          6 | Blaba        | Shengzhen       | 2016-08-07     | |          7 | Maxsu        | Sanya           | 2017-08-08     | |          8 | Maxsu        | Haikou          | 2015-11-17     | +------------+--------------+-----------------+----------------+ 7 rows in set (0.00 sec) 

假设查询时,相同名字并且在同一个地址只显示为一条,怎么做?参考以下查询语句 –

SELECT DISTINCT student_name, student_address FROM Students; 

执行上面语句,得到以下结果 –

MariaDB [testdb]> SELECT DISTINCT student_name,student_address FROM Students; +--------------+-----------------+ | student_name | student_address | +--------------+-----------------+ | Maxsu        | Haikou          | | JMaster      | Beijing         | | Mahesh       | Guangzhou       | | Kobe         | Shanghai        | | Blaba        | Shengzhen       | | Maxsu        | Sanya           | +--------------+-----------------+ 6 rows in set (0.00 sec) 

从上面查询的结果集中,可以看到当前只显示一条。即:student_name为:Maxsu以及student_addressHaikou的学生信息只有一条。

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 mariadb教程 只为你绽放。

本文固定链接: http://kua0.com/2019/01/31/数据库教程-mariadb教程-mariadb-distinct子句/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注