MySQL使用DISTINCT过滤重复数据
DISTINCT 关键字的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据给用户。
DISTINCT 关键字的语法格式为:
SELECT DISTINCT <字段名> FROM <表名>;
其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开。使用 DISTINCT 关键字时需要注意以下几点:
DISTINCT 关键字只能在 SELECT 语句中使用。
在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。
如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组去重,也就是说,只有多个字段组起来完全是一样的情况下才会被去重。
例 1
下面通过一个具体的实例来说明如何实现查询不重复数据。test 数据库中 student 表的表结构和数据如下所示:
结果显示,student 表中存在 6 条记录。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 表的 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 关键字来返回不重复字段的条数。
查询 student 表中对 name 和 age 字段去重之后记录的条数,SQL 语句和运行结果如下:
结果显示,student 表中对 name 和 age 字段去重之后有 5 条记录。mysql> SELECT COUNT(DISTINCT name,age) FROM student;
+--------------------------+
| COUNT(DISTINCT name,age) |
+--------------------------+
| 5 |
+--------------------------+
1 row in set (0.01 sec)
- 随机文章
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- yy魔兽(yy魔兽世界)
- 充值卡代理(充值卡代理加盟)
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 钢筋等级符号(钢筋等级符号电脑怎么输入)
- 河源巴伐利亚(河源巴伐利亚庄园)
- 风云三国(风云三国2.8作弊指令Ctrl)
