加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL使用DISTINCT为重复数据去重

发布时间:2021-06-06 09:24:14 所属栏目:编程 来源:互联网
导读:DISTINCT要害字的首要浸染就是对数据表中一个或多个字段一再的数据举办过滤,只返回个中的一条数据给用户。 DISTINCT 要害字的语法名目为: SELECT DISTINCT 字
DISTINCT 要害字的首要浸染就是对数据表中一个或多个字段一再的数据举办过滤,只返回个中的一条数据给用户。

DISTINCT 要害字的语法名目为:

SELECT DISTINCT <字段名> FROM <表名>;

个中,“字段名”为必要消除一再记录的字段名称,多个字段时用逗号离隔。

行使 DISTINCT 要害字时必要留意以下几点:

DISTINCT 要害字只能在 SELECT 语句中行使。

在对一个或多个字段去重时,DISTINCT 要害字必需在全部字段的最前面。

假如 DISTINCT 要害字后有多个字段,则会对多个字段举办组合去重,也就是说,只有多个字段组合起来完满是一样的环境下才会被去重。

例 1 下面通过一个详细的实例来声名怎样实现查询不一再数据。

test 数据库中 student 表的表布局和数据如下所示: mysql> SELECT * FROM test.student; +----+----------+------+-------+ | id | name | age | stuno | +----+----------+------+-------+ | 1 | zhangsan | 18 | 23 | | 2 | lisi | 19 | 24 | | 3 | wangwu | 18 | 25 | | 4 | zhaoliu | 18 | 26 | | 5 | zhangsan | 18 | 27 | | 6 | wangwu | 20 | 28 | +----+----------+------+-------+ 6 rows in set (0.00 sec) 功效表现,student 表中存在 6 笔记录。

下面临 student 表的 age 字段举办去重,SQL 语句和运行功效如下: mysql> SELECT DISTINCT age FROM student; +------+ | age | +------+ | 18 | | 19 | | 20 | +------+ 3 rows in set (0.00 sec)
对 student 表的 name 和 age 字段举办去重,SQL 语句和运行功效如下: mysql> SELECT DISTINCT name,age FROM student; +----------+------+ | name | age | +----------+------+ | zhangsan | 18 | | lisi | 19 | | wangwu | 18 | | zhaoliu | 18 | | wangwu | 20 | +----------+------+ 5 rows in set (0.00 sec)
对 student 表中的全部字段举办去重,SQL 语句和运行功效如下: mysql> SELECT DISTINCT * FROM student; +----+----------+------+-------+ | id | name | age | stuno | +----+----------+------+-------+ | 1 | zhangsan | 18 | 23 | | 2 | lisi | 19 | 24 | | 3 | wangwu | 18 | 25 | | 4 | zhaoliu | 18 | 26 | | 5 | zhangsan | 18 | 27 | | 6 | wangwu | 20 | 28 | +----+----------+------+-------+ 6 rows in set (0.00 sec)
由于 DISTINCT 只能返回它的方针字段,而无法返回其余字段,以是在现实环境中,我们常常行使 DISTINCT 要害字来返回不一再字段的条数。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读