实现mysql分组之前字段展示
1. 流程
journey
title 实现mysql分组之前字段展示
section 开始
开发者和小白开始交流
section 步骤
小白提出问题
开发者介绍整体流程
section 实操
开发者逐步指导小白操作
2. 步骤
步骤 | 操作 |
---|---|
1 | 创建示例数据表 |
2 | 编写SQL语句实现分组之前字段展示 |
3 | 查看展示结果 |
3. 操作步骤
步骤1:创建示例数据表
-- 创建示例数据表
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
score INT
);
-- 插入示例数据
INSERT INTO student (name, score) VALUES
('Alice', 85),
('Bob', 92),
('Alice', 78),
('Bob', 88),
('Alice', 90),
('Bob', 95);
步骤2:编写SQL语句实现分组之前字段展示
-- 通过子查询实现分组之前字段展示
SELECT
name,
score,
(SELECT GROUP_CONCAT(score)
FROM student s2
WHERE s2.name = s1.name) AS all_scores
FROM student s1;
代码解释:
GROUP_CONCAT(score)
:将相同name
的score
拼接成字符串WHERE s2.name = s1.name
:子查询与外层查询通过name
字段关联
步骤3:查看展示结果
-- 执行SQL语句
SELECT
name,
score,
(SELECT GROUP_CONCAT(score)
FROM student s2
WHERE s2.name = s1.name) AS all_scores
FROM student s1;
结束语
通过以上操作,你已经学会如何在MySQL中实现分组之前字段展示了。希朥你能够在实际工作中灵活运用这一技巧。如果还有其他问题,欢迎随时向我求助!祝你编程之路顺利!