MariaDB中DISTINCT子句的语法是什么,有什么要注意
Admin 2022-06-27 群英技术资讯 454 次浏览
MariaDB DISTINCT
子句用于在SELECT
语句中从结果中删除重复项。
语法:
SELECT DISTINCT expressions
FROM tables
[WHERE conditions];
注意:当在
DISTINCT
子句中仅使用表达式时,查询将返回该表达式的唯一值。当您使用多个表达式在DISTINCT
子句时,查询将返回多个表达式的唯一组合。DISTINCT
子句不会忽略NULL
值。因此,在SQL语句中使用DISTINCT
子句时,结果集将包含NULL
作为不同的值。
有一个名称为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
的行记录只有一条。
可以使用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_address
为Haikou
的学生信息只有一条。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
很多新手在学习mongoDB的时候会遇到启动报错28663的问题,但是又不知道如何解决,其实这是引擎导致的问题,下面小编就给大家分享一下解决方法,有需要的朋友可以参考一下。
MariaDB 索引是什么?怎样创建?索引是用于加速记录检索的工具。 索引为索引列中的每个值生成一个条目。创建索引, 您可以通过CREATE TABLE ... INDEX语句或CREATE INDEX语句创建索引。 支持可读性,维护和最佳实践的最佳选项是CREATE INDEX。
接受用户输入的简单行为打开了利用的大门。 这个问题主要来自数据的逻辑管理,但幸运的是,很容易避免这些主要缺陷。SQL注入的机会通常发生在输入诸如名称的数据的用户上,并且代码逻辑无法分析该输入。 相反,代码允许攻击者插入MariaDB语句,该语句将在数据库上运行。
这篇文章主要介绍MariaDB数据库的外键的相关内容,包括了对外建,外键约束的介绍以及如何创建外键约束,文本具体的示例介绍,对大家学习有一定的参考价值,感兴趣的朋友就继续往下看吧。
ALTER命令提供了一种方法来更改现有表的结构,这意味着删除或添加列,修改索引,更改数据类型或更改名称等修改。 ALTER还会在元数据锁定处于活动状态时等待应用更改。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008