mysql求最大值

一张表里面同一个项目又很多个任务。即一个项目ID对应多个r任务ID,取任务开始最小时间为项目开始时间。取任务最晚结束时间为项目实际结束时间,但是任务结束时间因为有的还在进行中,所以任务结束时间有的有值,有的为空,我想取如果全部都有值,就取最大值。当有空值时候就是取空值。求sql

13527520416 发布于 2021-12-6 16:53
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
free_zzLv6中级互助
发布于2021-12-6 16:58

select

任务ID,

min(任务时间) as 开始时间,

if(max(ifnull(任务时间,'9999-01-01'))='9999-01-01','', max(ifnull(任务时间,'9999-01-01')))as 结束时间

from table

group by 任务ID

最佳回答
0
177741977Lv6初级互助
发布于2021-12-6 17:16

使用开窗函数就行了呀:窗函数名([<字段名>]) over([partition by <分组字段>] [order by <排序字段> [desc]] [< 细分窗口>])

  • 3关注人数
  • 375浏览人数
  • 最后回答于:2021-12-6 17:16
    请选择关闭问题的原因
    确定 取消
    返回顶部