一直学一直嗨,一直嗨一直学

MySQL去重数据

在使用 MySQL SELECT 语句查询数据的时候返回的是所有匹配的行。

查询 tb_students_info 表中所有 age 的执行结果如下所示。

  mysql> SELECT age FROM tb_students_info;  +------+  | age  |  +------+  |   25 |  |   23 |  |   23 |  |   22 |  |   24 |  |   21 |  |   22 |  |   23 |  |   22 |  |   23 |  +------+  10 rows in set (0.00 sec)  

可以看到查询结果返回了 10 条记录,其中有一些重复的 age 值,有时出于对数据分析的要求,需要消除重复的记录值。这时候就需要用到 DISTINCT 关键字指示 MySQL 消除重复的记录值,语法格式为:

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

查询 tb_students_info 表中 age 字段的值,返回 age 字段的值且不得重复,输入的 SQL 语句和执行结果如下所示。

  mysql> SELECT DISTINCT age FROM tb_students_info;  +------+  | age  |  +------+  |   25 |  |   23 |  |   22 |  |   24 |  |   21 |  +------+  5 rows in set (0.11 sec)  

由运行结果可以看到,这次查询结果只返回了 5 条记录的 age 值,且没有重复的值。

Tags:,