MYSQL中DISTINCT关键词的作用是什么?

1年前 (2023-05-17)阅读2回复1
dyyh
dyyh
  • 总版主
  • 注册排名7
  • 经验值289070
  • 级别网站编辑
  • 主题57814
  • 回复0
楼主

在MYSQL中,DISTINCT是一个非常常见的关键词,它用于去重。也就是说,当我们从一个表中查询数据时,可能会出现重复的记录,这时我们就可以使用DISTINCT关键词来去重,仅返回不同的记录。

MYSQL中DISTINCT关键词的作用是什么?

假设我们有一个销售数据表,其中每个记录包含了销售日期、销售人员、商品等信息。如果我们想查询所有售出的商品,但是不希望出现重复的商品名称,那么我们可以这样进行查询:

SELECT DISTINCT Commodity FROM Sales

在这个查询中,DISTINCT关键词告诉MYSQL,我们只需要返回Sales表中不同的商品名称,而不是包含重复商品名称的全部记录。

除了可以用在SELECT语句中去重外,DISTINCT还可以用在INSERT语句中,保证插入的数据不会重复。例如:

INSERT INTO Sales (Commodity, SalesDate, SalesPerson) VALUES

('Item1', '2021-01-01', 'John'),

('Item2', '2021-01-02', 'Amy'),

('Item1', '2021-01-03', 'David'),

('Item3', '2021-01-04', 'John')

ON DUPLICATE KEY UPDATE SalesDate = VALUES(SalesDate)

在上述INSERT语句中,我们使用了DISTINCT关键词,以确保插入的数据不会有重复的商品名称。

需要注意的是,DISTINCT关键词只能去除完全相同的记录,如果记录有一些差异,例如售出日期不同,那么这些记录就不会被去重。

总结

在MYSQL中,DISTINCT关键词用于去重,可以在SELECT语句和INSERT语句中使用。在SELECT语句中使用DISTINCT可以返回不同的记录,避免出现重复记录;在INSERT语句中使用DISTINCT可以保证插入的数据不会有重复。

0
回帖

MYSQL中DISTINCT关键词的作用是什么? 相关回复(1)

雷之怒
雷之怒
沙发
MYSQL中DISTINCT确保查询结果不重复。
1天前 (06-30 09:51)回复00
取消