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

MySQL GROUP BY 和 GROUP_CONCAT 使用方法总结,group by后将其他的字段整合到一个字段中 并通过逗号链接或指定其他链接符号

MySQL GROUP BY 和 GROUP_CONCAT 使用方法总结

GROUP BY 基本用法

  • 作用:将查询结果按指定列进行分组
  • 语法SELECT column_list FROM table_name GROUP BY column_name
  • 注意事项:SELECT 子句中的非聚合列必须出现在 GROUP BY 子句中

GROUP_CONCAT 基本用法

  • 作用:将分组内的值连接成一个字符串
  • 语法GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC]] [SEPARATOR str_val])
  • 默认分隔符:逗号 ,

具体示例及执行结果

示例1:基本 GROUP BY 分组统计
-- 创建示例表
CREATE TABLE `employees` (`department` VARCHAR(50),[name] VARCHAR(50),`salary` INT
);INSERT INTO `employees` VALUES 
('IT', 'Alice', 8000),
('IT', 'Bob', 7500),
('HR', 'Charlie', 6000),
('HR', 'David', 6500),
('IT', 'Eve', 9000);-- 按部门分组统计员工数量和平均工资
SELECT `department`,COUNT(*) as employee_count,AVG(`salary`) as avg_salary
FROM `employees`
GROUP BY `department`;

执行结果:

department | employee_count | avg_salary
IT         | 3              | 8166.6667
HR         | 2              | 6250.0000
示例2:GROUP_CONCAT 基本用法
-- 按部门分组并连接员工姓名
SELECT `department`,GROUP_CONCAT([name] as employees
FROM `employees`
GROUP BY `department`;

执行结果:

department | employees
IT         | Alice,Bob,Eve
HR         | Charlie,David
示例3:GROUP_CONCAT 高级用法
-- 使用 DISTINCT、ORDER BY 和自定义分隔符
SELECT `department`,GROUP_CONCAT(DISTINCT [name] ORDER BY `salary` DESC SEPARATOR '; ') as employees_by_salary
FROM `employees`
GROUP BY `department`;

执行结果:

department | employees_by_salary
IT         | Eve; Alice; Bob
HR         | David; Charlie
示例4:设置 GROUP_CONCAT 最大长度
-- 查看当前最大长度设置
SELECT @@group_concat_max_len;-- 设置最大长度并测试长字符串连接
SET SESSION group_concat_max_len = 1000;

关键特性说明

  • GROUP_CONCAT 默认受 group_concat_max_len 系统变量限制(默认1024字符)
  • 可以使用 DISTINCT 去除重复值
  • 支持 ORDER BY 对连接前的数据排序
  • 可通过 [SEPARATOR] 参数自定义分隔符

注意:以上内容由大模型生成,注意识别!

http://www.dtcms.com/a/582026.html

相关文章:

  • 数字人|数字人企业技术派选择
  • 简单实现文字两端对齐
  • Flink Rebalance触发乱序的问题
  • 联合建设官方网站公司邮箱怎么在手机上登录
  • 代理龙华网站建设深圳英迈思做网站好么
  • UE网络复制中的可靠函数是什么意思 什么时候要勾选什么时候不勾?
  • 沈阳做网站建设微信公众号小程序开发教程
  • slice在Python和Go中的异同
  • 科技公司网站设计公司天津定制开发网站
  • 3 个近期 yyds 的 AI 开源项目, 有点绝。
  • 智启未来 共筑开放新生态——2025进博会人工智能亮点纷呈
  • python函数及面向过程高级特性
  • python+django/flask的莱元元电商数据分析系统_电商销量预测
  • Git分支创建与推送全攻略
  • python+django/flask基于Echarts+Python的图书零售监测系统设计与实现(带大屏)
  • 获取网站访问qq承德网站建设制作
  • 运用阿里云怎么做网站网站建设内容介绍
  • Redis_7_hash
  • 建站行业有前途个人主页网页设计案例
  • 数据分析报表如何选?详解 DataEase 四大表格:明细表、汇总表、透视表与热力图的适用场景与选择策略
  • 建立电商网站克拉玛依燃气公司主页
  • 关于从嘉立创导入元器件的原理图和封装到 Cadence 保姆级教程
  • 成都网站建设及推广谷歌浏览器引擎入口
  • 详解:长连接/短连接/Cookie/Session/WebSocket
  • 如何选择两种缓存更新策略(写缓存+异步写库;写数据库+异步更新缓存)
  • pcl::ProjectInliers功能介绍,分别对平面、直线、圆、圆柱提供详细范例及可视化展示
  • ftp网站建立wordpress数据导出
  • 赣州瑞金网站建设网站推广公司成功的经典案例
  • 11.7 LeetCode 题目汇总与解题思路
  • Golang 开发Prometheus 自定义 Exporter