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

Excel表格文件分组归并——通过sql

将 Excel 表转换为 SQL 数据库并直接执行 SQL 查询以获得所需的输出。以下是使用 SQL 实现此目的的步骤:

第 1 步:将 Excel 数据导入 MySQL

假设您设置了 MySQL 数据库,则需要先将 Excel 数据导入到表中。您可以使用语句或工具(如 MySQL Workbench、phpMyAdmin 或 Python 库)来加载数据。LOAD DATApandasSQLAlchemy

以下是如何使用 MySQL Workbench 导入数据的示例:

  1. 将 Excel 文件转换为 CSV 格式。

  2. 使用命令将 CSV 文件加载到表中。LOAD DATA INFILE

或者直接使用navicat工具导入

LOAD DATA INFILE '/path/to/your/file.csv'
INTO TABLE lab_reports
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS; -- Skips the header row

第 2 步:用于对教师姓名进行分组和组合的 SQL 查询

将数据加载到表中后,您可以使用以下 SQL 查询按课程和实验 ID 对数据进行分组,并根据“提交开始时间”(提交开始时间)是否为 null 来分隔讲师。

SELECT 
    所属专业,
    课程编号 AS course_id,
    课程名称 AS course_name,
    实验项目编号 AS experiment_id,
    实验项目名称 AS experiment_name,
    GROUP_CONCAT(DISTINCT 
        CASE WHEN 提交开始时间 IS NOT NULL THEN 授课教师 ELSE NULL END 
        SEPARATOR ', '
    ) AS 有提交开始时间的讲师,
    GROUP_CONCAT(DISTINCT 
        CASE WHEN 提交开始时间 IS NULL THEN 授课教师 ELSE NULL END 
        SEPARATOR ', '
    ) AS 无提交开始时间的讲师
FROM 
    lab_reports
GROUP BY 
    所属专业, 课程编号, 课程名称, 实验项目编号, 实验项目名称
ORDER BY
    所属专业, 课程编号, 实验项目编号;

说明:

  1. 列顺序:完全按照您要求的顺序输出

    • 所属专业

    • 课程编号 (别名为course_id)

    • 课程名称 (别名为course_name)

    • 实验项目编号 (别名为experiment_id)

    • 实验项目名称 (别名为experiment_name)

    • 有提交开始时间的讲师

    • 无提交开始时间的讲师

  2. GROUP_CONCAT改进

    • 添加了DISTINCT关键字确保讲师姓名不重复

    • 明确指定了SEPARATOR ', '使结果更清晰

    • 使用CASE WHEN...ELSE NULL END确保逻辑清晰

  3. 分组和排序

    • 按照所属专业、课程编号和实验项目编号分组

    • 结果按所属专业、课程编号和实验项目编号排序

  4. 表名:假设数据存储在名为lab_reports的表中

您可以直接在MySQL客户端或应用程序中执行此SQL查询,获取符合您要求的分组结果。

相关文章:

  • 在JAVA编程中什么是反射?
  • leetcode 198. House Robber
  • 一天时间,我用AI(deepseek)做了一个配色网站
  • 哈希表-算法小结
  • 01_通过调过api文字生成音频示例
  • 【C数据结构】 TAILQ双向有尾链表的详解
  • Vue2 老项目升级 Vue3 深度解析教程
  • [推荐]AI驱动的知识图谱生成器(AI Powered Knowledge Graph Generator)
  • 符号右移“ >>= “ 与 无符号右移“ >>>= “ 的区别
  • 信息安全管理与评估2024年江西省赛样题一阶段答案截图
  • 穿透三层内网VPC2
  • C++STL语法速记
  • P5738 【深基7.例4】歌唱比赛
  • 【源码】SpringMvc源码分析
  • [Dify] 基于明道云实现金融业务中的Confirmation生成功能
  • d202548
  • 库magnet使用指南
  • 少儿编程 scratch四级真题 2025年3月电子学会图形化编程等级考试Scratch四级真题解析(选择题)
  • SQLite-Web:一个轻量级的SQLite数据库管理工具
  • 智慧乡村数字化农业全产业链服务平台建设方案PPT(99页)
  • 夜读丨为萤火虫哭泣的夜晚
  • 前4个月全国新建商品房销售面积降幅收窄,房地产库存和新开工有所改善
  • 学生靠老干妈下饭、职工餐肉类又多又好?纪委出手整治
  • 吴双评《发展法学》|穷国致富的钥匙:制度,还是产业活动?
  • 墨海军训练舰在纽约撞桥,墨总统:对遇难者表示悲痛,将跟进调查
  • 古稀之年的设计家吴国欣:重拾水彩,触摸老上海文脉