单选题

我们的一个任务系统,使用数据库去针对任务执行的情况进行记录。每个任务在执行...

发布于 2022-03-03 17:08:19

我们的一个任务系统,使用数据库去针对任务执行的情况进行记录。每个任务在执行完成后都会向任务执行结果表中插入一条记录,关联到对应的任务id(taskId),并记录这次任务的执行编号、执行时间和状态,

任务执行结果表的结构如下:

TABLE `eo_task_report` (

  `id` bigint(10) NOT NULL AUTO_INCREMENT,

  `taskId` bigint(10) NOT NULL COMMENT '任务id,关联任务表id',

  `executeNo` bigint(20) NOT NULL COMMENT '执行编号,每次生成后,加1',

  `executeTime` datetime NOT NULL COMMENT '执行时间',

  `isValid` tinyint(3) NOT NULL DEFAULT '1' COMMENT '是否有效,1-有效;0-无效。默认为0'

  PRIMARY KEY (`id`),

)

任务执行结果表的样例内容如下:

 id   

 taskId   

 executeNo  

 executeTime                

 isValid  

 1

 1001

 1

 2019-05-08 19:05:12

 1

 2

 1001

 2

 2019-05-08 20:05:12

 1

 3

 1002

 1

 2019-05-08 19:05:12

 1

 4

 1001

 3

 2019-05-08 21:05:12

 1

 5

 1003

 1

 2019-05-09 10:28:20

 1

 6

 1003

 2

 2019-05-09 19:28:20

 1

 
请问以下SQL语句中哪条(或哪几条)可以获得每个任务最后一次的执行结果?

执行SQL:

1select * from eo_task_report ORDER BY executeTime desc GROUP BY taskId

2select a.* from eo_task_report a where executeTime = (select max(executeTime) from eo_task_report where taskId = a.taskId ) GROUP BY a.taskId   order by a.taskId

3select * from eo_task_report GROUP BY taskId ORDER BY executeTime desc

4select * from (select * from eo_task_report ORDER BY executeTime desc)a GROUP BY a.taskID


登录后免费查看答案
关注者
0
被浏览
34
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看