首页 > 其他 > 详细

分组求最大值,最小值 使用开窗函数经验总结

时间:2016-06-29 18:46:23      阅读:417      评论:0      收藏:0      [点我收藏+]
select distinct TT.prod_id, tt.creteTime, tt.inspection_time, tt.cnt

from (select s.prod_id,
min(s.datetime_created) over(partition by s.prod_id) as creteTime,
max(s.inspection_time) over(partition by s.prod_id) as inspection_time,

sum(s.complete_count) over(partition by s.prod_id) as cnt

FROM qms.oqc_inspection_sample s
WHERE length(s.prod_id) = 14 and s.prod_id like ‘6%‘
and s.inspection_result = ‘合格‘
and s.status in (‘已检验‘, ‘已生成报告‘)) tt

  这里使用了分析函数,使用分组中的一组,进行求和 ,求最大值,最小值。

问题:

 一:我这里使用了 DISTINCT去重,有没有效率更好的方式去重呢

 二:分析函数不能使用条件过滤,比如某个分组的数据,我想只取某个字段等1的值的求和。

分组求最大值,最小值 使用开窗函数经验总结

原文:http://www.cnblogs.com/chenli0513/p/5627586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!