【20240731-每日一题】mysql怎么去重

难度

  • 简单

问题

  • mysql如何对查询结果去重

在 MySQL 中,可以使用 DISTINCT 关键字来对查询结果进行去重。DISTINCT 用于从查询结果中删除重复的记录,仅返回唯一的行。
SELECT DISTINCT last_name FROM users;

在MySQL中,要去除查询结果中的重复记录,可以使用DISTINCT关键字。DISTINCT可以帮助你在SELECT语句中返回唯一不同的数据行。

基本用法

如果你只想获取表中某一列或几列的唯一值,可以在SELECT语句后面加上DISTINCT关键字,后跟需要去重的列名。

示例:

假设有一个名为employees的表,包含以下字段:id, name, department, position

如果你想找出所有不同的部门名称,可以这样写SQL语句:

SELECT DISTINCT department FROM employees;

这将返回一个只包含不同部门名称的结果集。

多列去重

如果想要基于多列进行去重,只需要在DISTINCT后面列出这些列即可。

示例:

如果你想获取所有唯一的部门和职位组合,可以这样做:

SELECT DISTINCT department, position FROM employees;

使用GROUP BY去除重复

另一种方法是使用GROUP BY子句。GROUP BY通常与聚合函数(如COUNT, SUM等)一起使用,但它也可以用来去除重复行。

示例:

如果你想获取每个部门的不同职位数量,可以这样写:

SELECT department, position
FROM employees
GROUP BY department, position;

这将返回每个部门及其下的不同职位列表。

如果你只想知道每个部门有多少种不同的职位,可以使用COUNT聚合函数:

SELECT department, COUNT(DISTINCT position) as num_positions
FROM employees
GROUP BY department;

distinct去重。
用法:select distinct(字段名称) from talbe

sql中,可以使用distinct 关键字进行去重处理
比如users表中对name进行去重

select distinct name
from users;