MySQL中将多行查询结果合并为一行展示SQL语句书写

您所在的位置:网站首页 mysql拼接查询结果行 MySQL中将多行查询结果合并为一行展示SQL语句书写

MySQL中将多行查询结果合并为一行展示SQL语句书写

2024-07-01 06:18| 来源: 网络整理| 查看: 265

写在前面   最近开发过程中,遇到一个需求是要将所查询的多条结果汇总成一条结果展示,由于之前没有接触过这方面的业务,所以经过一番折腾之后,解决了需求,这里特此记录一下,以供后续参考!

1、问题复现 这里以一个例子进行说明:

需求:一个员工每月是否完成了打卡,要求统计员工当月完成和未完成日期,展示结果如下:

测试的数据库表字段如下:

复制代码 CREATE TABLE time_summary ( id int NOT NULL AUTO_INCREMENT, emp_id varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ‘员工号’, emp_name varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ‘员工姓名’, time_date date DEFAULT NULL COMMENT ‘填报日期’, finish_flag varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ‘完成标志:0:未完成,1:已完成’, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 复制代码 测试数据如下:

View Code 这种情况下,我们一般可以将所有的情况查询出来(这里以6月份数据为例),查询SQL如下:

SELECT t.emp_id,t.emp_name,t.time_date,t.finish_flag from time_summary t where t.time_date >= ‘2020-06-01’ and time_date



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3