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

Posted hello world!!!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分组求最大值,最小值 使用开窗函数经验总结相关的知识,希望对你有一定的参考价值。

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的值的求和。

以上是关于分组求最大值,最小值 使用开窗函数经验总结的主要内容,如果未能解决你的问题,请参考以下文章

SQL分组查询最大值最小值

SQL Server中的开窗函数是啥?

plsql求最大值最大值

mysql 分组函数

sql server求分组最大值,最小值,最大值对应时间,和最小值对应时间

python求最大值最小值代码