前言

前段时间有点小忙,这个月的博客好像还没写过,上班不易!这两天还好,有点时间看了看leetcode的有关数据库的题,数据库语句也就是常用的还比较熟悉,不用就全都给忘了,所以这篇文章也是给自己提个醒,基础要经常去回顾的。

正文

DISTINCT 用于去重信息,我好像写过一两次的去重,但是没想起来这个关键字,工作中也没什么相关的业务。具体怎么用呢?通过例子来看看吧!
随便建了一个库
在这里插入图片描述
建库语句如下:

CREATE TABLE `test_distinct`  (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

INSERT INTO `test_distinct` VALUES (1, 'a', '1');
INSERT INTO `test_distinct` VALUES (2, 'b', '0');
INSERT INTO `test_distinct` VALUES (3, 'a', '0');
INSERT INTO `test_distinct` VALUES (4, 'b', '1');
INSERT INTO `test_distinct` VALUES (5, 'c', '1');

一、按名字来查询数据库

select name from test_distinct

显示结果
在这里插入图片描述
结果中有重复的姓名怎么去重呢?就用到了关键字DISTINCT

二、使用DISTINCT 关键字按名字来查询数据库

select distinct name from test_distinct 

显示结果:
在这里插入图片描述
达到了去重的目的

三、查询两个字段的去重
我把数据库中的数据做了一个简单的更改,其中有两条数据的名字跟性别是相同的。
在这里插入图片描述
查询一下数据库中的数据

select name, sex from test_distinct 

查询出了有重复的数据
在这里插入图片描述
四、使用关键字去重
去重的查询语句

SELECT distinct name, sex from test_distinct

查询结果:
在这里插入图片描述
比较两次查询结果可以得出:
DISTINCT 关键字是去重的,如果查询的是单个字段的就是去掉单个字段中重复的数据,如果查询的是多个字段,那么去重的是多个字段中完全相同的数据。

就如上图中的结果,去重前有两个name:b sex:0 。去重后就留下了一个name:b sex:0

结束

我这更新博客的时间真的是不确定,有时间了就写一篇,工作忙起来了就顾不上写博客了。反正还是要持续不断的学习的,就跟某软件上说的“学习是一种信仰”,不过最近可能会再回头学学MySQL的相关基础。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐