group by 和 order by

image.png

如果用group by weekly_date的话,只能获取到第一条,想要取得这三条数据中的第二条数据,也就是同一周的周报的审批时间最近的一条数据,请问SQL应该怎么写?

霁颜 发布于 2019-9-16 14:28
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
firegunzxLv6高级互助
发布于2019-9-16 14:38(编辑于 2019-9-16 14:45)

select * from 

(select max(审批日期)  最大审批日期,weekly_date from 表 group by weekly_date) a ,

表 b where a.最大审批日期=b.审批日期 and a.weekly_date =b.weekly_date 

  • 霁颜 霁颜(提问者) 不不不,这个方法我试过,我要的不是最大的审批日期,我要的是最大的审批日期所在的一整条数据
    2019-09-16 14:41 
  • firegunzx firegunzx 回复 霁颜(提问者) 答案改了
    2019-09-16 14:45 
最佳回答
0
wd210010Lv7高级互助
发布于2019-9-16 14:29(编辑于 2019-9-16 14:30)

max 审批日期就好了

  • 霁颜 霁颜(提问者) 在having里写吗?
    2019-09-16 14:35 
  • wd210010 wd210010 回复 霁颜(提问者) 在嵌套一个select 只取max 审批日期的数据
    2019-09-16 14:36 
  • 霁颜 霁颜(提问者) 回复 wd210010 我还有别的数据,不止这三条,取max审批日期是max所有审批日期吗?
    2019-09-16 14:38 
  • wd210010 wd210010 回复 霁颜(提问者) group by weekly_date啊
    2019-09-16 14:39 
最佳回答
0
hippomenes157Lv3见习互助
发布于2019-9-16 14:48

用分析函数

  • 4关注人数
  • 661浏览人数
  • 最后回答于:2019-9-16 14:48
    请选择关闭问题的原因
    确定 取消
    返回顶部