1、准备表task_execute_t,字段信息如下所示
| 字段 | 字段作用 |
| log_id | 主键 |
| task_id | 任务id |
| batch_id | 批次号id |
| status | 执行状态 |
建表语句如下:
CREATE TABLE `task_execute_t` (
`log_id` int(11) NOT NULL,
`task_id` int(11) NOT NULL,
`batch_id` int(11) NOT NULL,
`status` varchar(255) NOT NULL,
PRIMARY KEY (`log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2、构造数据如下所示

3、编写SQL语句,按任务分组,查出每个任务的批次号
select task_id,GROUP_CONCAT(distinct batch_id) from task_execute_t GROUP BY task_id;
执行结果如下:

本文介绍了一种使用SQL进行数据分组查询的方法,通过构造特定的表结构和数据,演示了如何按任务ID分组并获取每组的批次号列表。此方法适用于需要对大量数据进行快速分组统计的场景。
4179

被折叠的 条评论
为什么被折叠?



