GROUP BY和DISTINCT有什么区别?

GROUP BY和DISTINCT有什么区别?

1. DISTINCT

2. GROUP BY

主要区别

示例


🎈边走、边悟🎈迟早会好

GROUP BYDISTINCT 是 SQL 中用于处理重复数据的两个不同的功能。虽然它们都用于从结果集中去重,但它们的用途和工作原理有明显的区别:

1. DISTINCT

  • 用途:用于选择唯一的不同值。
  • 适用场景:通常在查询的 SELECT 语句中使用,用于获取某列或多列的不同值。
  • 语法示例
    SELECT DISTINCT column1, column2
    FROM table_name;
    

  • 返回结果:只返回指定列中不重复的记录。

2. GROUP BY

  • 用途:用于将结果集中的数据分组,以便进行聚合计算(如 COUNT、SUM、AVG 等)。
  • 适用场景:常与聚合函数一起使用,以便在分组后进行计算。
  • 语法示例
    SELECT column1, COUNT(*)
    FROM table_name
    GROUP BY column1;
    

  • 返回结果:返回每个分组的结果,通常还会包含聚合计算的结果。

主要区别

  • 功能
    • DISTINCT 只用于去重,不进行聚合计算。
    • GROUP BY 用于分组并通常结合聚合函数进行计算。
  • 返回结果
    • DISTINCT 返回的是唯一的记录。
    • GROUP BY 返回每个组的聚合结果。

示例

假设有一个名为 sales 的表,其中包含以下数据:

productquantity
A10
A20
B15
C10
  • 使用 DISTINCT

    SELECT DISTINCT product
    FROM sales;
    

    返回结果为:

    A
    B
    C

  • 使用 GROUP BY

    SELECT product, SUM(quantity) AS total_quantity
    FROM sales
    GROUP BY product;
    

    返回结果为:

    A | 30 B | 15 C | 10

总结来说,DISTINCT 主要用于去重,而 GROUP BY 用于数据分组和聚合计算。

 🌟感谢支持 听忆.-CSDN博客

🎈众口难调🎈从心就好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值