应用台导航页
  • 主页
  • 博客
  • 知识库
  • 工作台
  • 集萃
  • 友链
  • 关于
DISTINCT 和 GROUP BY
db

DISTINCT 和 GROUP BY

技术
更新于 2023-01-11
— 1047 字
返回

要从 Student 表中选择所有不重复的 facultyName 和 professionName 组合,可以使用以下 SQL 语句:

sql
SELECT facultyName, professionName
FROM Student
GROUP BY facultyName, professionName;

这将返回一个结果集,其中包含不重复的 facultyName 和 professionName 组合。使用 GROUP BY 子句可以确保每个组合只出现一次。

使用 GROUP BY 和 DISTINCT 都可以用来选择不重复的值,但它们在语法和使用上有一些区别。

  1. DISTINCT 关键字可以应用于单个列或多个列,而 GROUP BY 子句需要指定多个列。
    • 使用 DISTINCT:SELECT DISTINCT columnName FROM tableName;
    • 使用 GROUP BY:SELECT column1, column2 FROM tableName GROUP BY column1, column2;
  2. DISTINCT 会对结果集中的所有列进行去重,而 GROUP BY 可以对指定的列进行分组,并对每个组返回一个结果。
    • 使用 DISTINCT:返回所有不重复的行。
    • 使用 GROUP BY:根据指定的列进行分组,并返回每个组的结果。
  3. GROUP BY 还可以与聚合函数(如 COUNT、SUM、AVG 等)一起使用,以对每个组进行计算。
    • 使用 GROUP BY:SELECT column1, COUNT(column2) FROM tableName GROUP BY column1;

因此,如果您只需要选择不重复的值,可以使用 DISTINCT 关键字。如果您需要对结果进行分组或进行聚合计算,可以使用 GROUP BY 子句。

在性能方面,一般而言,DISTINCT 的性能可能会比 GROUP BY 更好,特别是当只需要选择不重复的值时。DISTINCT 可以通过对结果集进行简单的去重操作来实现,而 GROUP BY 则需要对结果进行分组并生成每个组的结果。

然而,当需要进行聚合计算时,GROUP BY 更适合。GROUP BY 可以与聚合函数一起使用,对每个组进行计算,这在某些情况下可能比使用 DISTINCT 和单独的聚合函数更高效。

需要注意的是,性能的优劣取决于具体的查询和数据库实现。在实际使用中,建议根据具体的需求和数据情况选择适当的方法,并进行性能测试和优化,以获得最佳的查询性能。

dors logoDors

Dors 是花野猫开发为知识工作者打造的数字花园应用,包含的博客、个人记事本、及其他实用功能。

花园

  • 花坛——博客
  • 果园——知识库

工坊——作者开发的实用工具

  • 小记
  • 秒切——一键按秒分割视频
  • 中国重点高校地理位置可视化网站
  • 中国行政区划数据查询平台
  • excel 重命名工具

misc

  • 生活章程
  • 画廊
  • just have fun!

© 2022 - present. All Rights Reserved.滇ICP备2025063395号-1

花野猫打造