实现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):将相同namescore拼接成字符串
  • 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中实现分组之前字段展示了。希朥你能够在实际工作中灵活运用这一技巧。如果还有其他问题,欢迎随时向我求助!祝你编程之路顺利!