SQL中GROUP BY和DISTINCT的区别
💡
原文英文,约200词,阅读约需1分钟。
📝
内容提要
SQL中的GROUP BY和DISTINCT都用于处理重复数据。DISTINCT用于去除结果集中的重复行,返回唯一值,适合不需要聚合的情况。GROUP BY用于将相同值的行分组,并对组进行聚合操作,如SUM、COUNT等。
🎯
关键要点
-
GROUP BY和DISTINCT都用于处理重复数据,但目的和工作方式不同。
-
DISTINCT的目的在于去除结果集中的重复行,返回唯一值,适合不需要聚合的情况。
-
DISTINCT的用例是从一个或多个列中获取唯一值,不进行任何聚合。
-
示例:SELECT DISTINCT department FROM employees; 返回员工表中唯一的部门名称。
-
GROUP BY的目的在于将具有相同值的行分组,并允许对这些组进行聚合操作。
-
GROUP BY的用例是需要对数据进行聚合并对数据组进行计算。
-
示例:SELECT department, COUNT(*) FROM employees GROUP BY department; 按部门分组并计算每个部门的员工数量。
-
总结:当只需消除重复行时使用DISTINCT,当需要根据特定标准聚合数据时使用GROUP BY。
➡️