当前位置: 首页 > news >正文

【后端面试总结】mysql的group by怎么用

GROUP BY 是 SQL 中的一种用于对结果集进行分组的子句,常与聚合函数(如 COUNT()SUM()AVG()MAX()MIN() 等)一起使用。GROUP BY 的作用是基于一个或多个列对查询结果进行分组,然后可以对每个分组执行聚合操作。

以下是 GROUP BY 的一些关键点和用法示例:

基本用法

假设有一个名为 employees 的表,表结构如下:

idnamedepartmentsalary
1AliceHR5000
2BobIT6000
3CarolHR5500
4DavidIT6200
5EveSales5800
示例 1: 按部门统计员工人数
SELECT department, COUNT(*) AS number_of_employees
FROM employees
GROUP BY department;

这条查询会返回每个部门的员工人数。

示例 2: 按部门计算平均薪资
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

这条查询会返回每个部门的平均薪资。

使用多个列分组

你也可以按多个列进行分组。例如,如果你想按部门和薪资等级对员工进行分组,可以这样做:

SELECT department, salary, COUNT(*) AS number_of_employees
FROM employees
GROUP BY department, salary;

注意事项

  1. SELECT 列表中的所有列: 在 SELECT 语句中,GROUP BY 的影响是所有未参与聚合的列都应出现在 GROUP BY 子句中。

  2. NULL 处理: 当分组键中存在 NULL 值时,SQL 会将 NULL 值单独作为一个分组。

  3. HAVING 子句: 可以在 GROUP BY 的结果上使用 HAVING 子句进行过滤。HAVING 子句的作用类似于 WHERE 子句,但 WHERE 是在分组之前过滤记录,而 HAVING 是在分组之后过滤结果。

    示例:

    SELECT department, AVG(salary) AS average_salary
    FROM employees
    GROUP BY department
    HAVING AVG(salary) > 5500;
    

    这条查询返回平均薪资大于 5500 的部门。

  4. 顺序: GROUP BY 子句通常出现在 WHERE 子句之后,ORDER BY 子句之前。

通过使用 GROUP BY,你可以对数据进行强大的分组和聚合,帮助你从复杂的数据集中提取有价值的信息。

http://www.lryc.cn/news/530177.html

相关文章:

  • 计算机视觉和图像处理
  • 一文读懂Python之random模块(31)
  • p1044 栈
  • 吴恩达深度学习——超参数调试
  • SQL NOW() 函数详解
  • 【JAVA基础】双亲委派
  • 刷题记录 HOT100回溯算法-6:79. 单词搜索
  • JavaScript系列(52)--编译优化技术详解
  • Ollama+DeepSeek本地大模型部署
  • 在 WSL2 中重启 Ubuntu 实例
  • 【ts + java】古玩系统开发总结
  • 机器学习周报-文献阅读
  • LabVIEW微位移平台位移控制系统
  • fpga系列 HDL:XILINX Vivado ILA FPGA 在线逻辑分析
  • 刷题记录 贪心算法-2:455. 分发饼干
  • Android --- CameraX讲解
  • ElasticSearch view
  • list的使用,及部分功能的模拟实现(C++)
  • 联想Y7000+RTX4060+i7+Ubuntu22.04运行DeepSeek开源多模态大模型Janus-Pro-1B+本地部署
  • [Spring] Gateway详解
  • 音叉模态分析
  • BW AO/工作簿权限配置
  • C++ 字母大小写转换两种方法统计数字字符的个数
  • 如何使用 ChatBox AI 简化本地模型对话操作
  • 前端面试笔试题目(一)
  • Docker Hello World
  • UE 5.3 C++ 对垃圾回收的初步认识
  • ARM内核:嵌入式时代的核心引擎
  • 需求分析应该从哪些方面来着手做?
  • 【Unity2D 2022:C#Script】DoTween插件的使用