关键词

MySQL关键字Distinct的详细介绍

当我们从MySQL数据库中查询数据时,有时候会发现查询结果出现了重复的行,如果这样我们又想要保证结果唯一,这时候我们可以使用MySQL关键字DISTINCT来确保查询结果的唯一性。本文将详细介绍DISTINCT的用法和使用场景。

一、语法

MySQL中DISTINCT的语法如下所示:

SELECT DISTINCT column_name(s)
FROM table_name;

在语法中,DISTINCT关键字指示查询结果应该只返回唯一的值。

二、示例

示例1

我们以以下product表为例:

id name price
1 苹果 10.0
2 香蕉 8.0
3 苹果 12.0
4 橙子 6.0
5 香蕉 7.5
6 葡萄 11.0

下面的查询没有使用DISTINCT关键字:

SELECT name FROM product;

执行结果如下:

name
苹果
香蕉
苹果
橙子
香蕉
葡萄

我们现在使用DISTINCT关键字来执行查询:

SELECT DISTINCT name FROM product;

执行结果如下:

name
苹果
香蕉
橙子
葡萄

示例2

我们再以以下employee表为例:

id name department
1 张三 技术部
2 李四 人事部
3 王五 财务部
4 张三 技术部
5 李四 人事部
6 赵六 财务部

我们现在要查询每个部门的员工数量。使用以下查询语句:

SELECT department, COUNT(id) AS num FROM employee GROUP BY department;

执行结果如下:

department num
技术部 2
人事部 2
财务部 2

可以发现结果的每个部门出现了两次,造成了数据的冗余。我们现在使用DISTINCT关键字:

SELECT DISTINCT department, COUNT(id) AS num FROM employee GROUP BY department;

执行结果如下:

department num
技术部 2
人事部 2
财务部 2

这次结果不再重复,而且我们达到了我们想要的查询结果。

三、总结

DISTINCT关键字是MySQL中常用的关键字之一,使用它可以有效地去重,避免查询结果出现重复的数据。在使用DISTINCT的时候,需要注意其应用的场景,不要过度使用,以避免造成性能问题。

本文链接:http://task.lmcjl.com/news/18295.html

展开阅读全文