MariaDB中DISTINCT子句的语法是什么,有什么要注意

Admin 2022-06-27 群英技术资讯 299 次浏览

这篇文章给大家分享的是MariaDB中DISTINCT子句的语法是什么,有什么要注意。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

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

语法:

SELECT DISTINCT expressions  
FROM tables  
[WHERE conditions];

注意:当在DISTINCT子句中仅使用表达式时,查询将返回该表达式的唯一值。当您使用多个表达式在DISTINCT子句时,查询将返回多个表达式的唯一组合。
DISTINCT子句不会忽略NULL值。因此,在SQL语句中使用DISTINCT子句时,结果集将包含NULL作为不同的值。

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的学生信息只有一条。


以上就是关于“MariaDB中DISTINCT子句的语法是什么,有什么要注意”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案
标签: DISTINCT子句

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服