在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。

查询指定列并且结果不出现重复数据

SELECT DISTINCT 字段名 FROM 表名;

student表如下:

CREATE TABLE `student`  (
  `id` int(0) NOT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `age` int(0) NULL DEFAULT NULL,
  `sex` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `address` 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 = Dynamic;

添加几条记录

 1、单个字段进行去重

查询学生来至于哪些地方

-- 查询学生来至于哪些地方
select address from student;
-- 去掉重复的记录
select distinct address from student;

结果如下:

2、多个字段去重

对name、age、sex、age四个字段去重

select distinct name,age,sex,address from student;

结果如下:

 

注意:不要对id进行去重,因为id都不一样,否则distinct无效。

 

posted on 2021-12-21 14:11  周文豪  阅读(230)  评论(0编辑  收藏  举报