sql语句 min (case where ........) 取最小但是不等于0

现有语句  使用这个语句开始时间哪里很多就变成了空  这个应该如何破  

select a.name,a.deptname,
min(case when CONVERT(varchar(10), CHECKTIME, 108)<'11:30:00' then CONVERT(varchar(10), CHECKTIME, 108) else '' end )开始时间 ,
max(case when CONVERT(varchar(10), CHECKTIME, 108)>'11:45:00' then CONVERT(varchar(10), CHECKTIME, 108) else '' end )结束时间 ,
 convert(varchar(10),a.CHECKTIME,120) as 设计需求
from kqxx as a 
where a.name='陈廷'
group by  a.name,a.deptname,convert(varchar(10),a.CHECKTIME,120)

1554865540176.jpg

ctt 发布于 2019-4-10 11:09 (编辑于 2019-4-10 11:11)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
axingLv6专家互助
发布于2019-4-10 11:21(编辑于 2019-4-10 11:34)
select a.name,a.deptname,
min(case when CONVERT(varchar(10), CHECKTIME, 108)<'11:30:00' then CONVERT(varchar(10), CHECKTIME, 108) else null end )开始时间 ,
max(case when CONVERT(varchar(10), CHECKTIME, 108)>'11:45:00' then CONVERT(varchar(10), CHECKTIME, 108) else null end )结束时间 ,
 convert(varchar(10),a.CHECKTIME,120) as 设计需求
from kqxx as a 
where a.name='陈廷'
group by  a.name,a.deptname,convert(varchar(10),a.CHECKTIME,120)


最佳回答
0
No1-王子阳Lv5中级互助
发布于2019-4-10 11:21(编辑于 2019-4-10 11:22)

image.png首先,你这不满足条件的肯定会返回空,你要么把11:30-11:45之间的数据剔出去,要么分开写SQL限定时间,或者再加个条件把为空的过滤掉。

  • 3关注人数
  • 1433浏览人数
  • 最后回答于:2019-4-10 11:34
    请选择关闭问题的原因
    确定 取消
    返回顶部