问题描述

按工单+项次从所有发料明细中取出发料数量最大的那一条

源数据

select sfdc001,sfdc002,sfdd007
from sfdc_t
left join sfda_t on  sfdadocno=sfdcdocno
left join sfdd_t on  sfdddocno=sfdcdocno and sfdcseq=sfddseq
where  sfdcent=1 and sfdc001||sfdc002 in('09-S901-21010042510','09-S902-20120149340','09-S904-20120147670' ) --工单单号||项次  and extract(year from sfda001)=2021 --年度and extract(month from sfda001)=1 --月份and  sfdastus<>'X'
order by sfdc001,sfdc002

解决方案

--取工单||项次发料数量最大的那一条
select * from (
select sfdc001,sfdc002,sfdd007,
row_number() over(partition by sfdc001,sfdc002 order by sfdd007 desc) rn
from sfdc_t
left join sfda_t on  sfdadocno=sfdcdocno
left join sfdd_t on  sfdddocno=sfdcdocno and sfdcseq=sfddseq
where  sfdcent=1 and sfdc001||sfdc002 in('09-S901-21010042510','09-S902-20120149340','09-S904-20120147670' ) --工单单号||项次 and extract(year from sfda001)=2021 --年度and extract(month from sfda001)=1 --月份and  sfdastus<>'X'
) where rn=1

结果

知识点

row_number() over( partition by 分组字段 order by 排序字段 desc)多用于对数据进行分组排序,并对每个组中的数据分别进行编号,编号从1开始递增,每个组内的编号不会重复

mysql中如何实现该操作?

Mysql分组查询每组最新的一条数据(三种实现方法)
https://blog.csdn.net/weixin_44606481/article/details/128200727

oracle按某些字段分组后从每组中取出最大的一条记录 row_number() over(partition by)相关推荐

  1. oracle按某个字段分组然后从每组取出最大的一条纪录

    需求:查询各个设备存在未消缺的缺陷,取缺陷等级最高的,作为这个设备当前的缺陷等级: 数据源: select t.device_id, t.defect_levelfrom sp_pd_defect t ...

  2. 1.(group by)如何让group by分组后,每组中的所有数据都显示出来

    问题描述:表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?(假如说这个表名为:devicedata) 错误答案:select * from devicedata GR ...

  3. oracle 取分组第一行,oracle分组后取每组第一条数据

    oracle 分组后取每组第一条数据 '数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER ...

  4. mysql分组取所有数据_mysql 分组后取每个组内最新的一条数据

    首先,将按条件查询并排序的结果查询出来. mysql> select accepttime,user,job from tuser_job where user =8 order by acce ...

  5. JAVA使用stream对数据分组后求每组的最大值

    JAVA stream对数据分组后求每组的最大值 具体需求 对industryCode分组,然后通过取出每组的num的最大值 // 实体类 @Data @AllArgsConstructor publ ...

  6. mysql查询数据分组后保留每组前n条数据

    最近做项目遇到一个这样需求的sql语句,根据一系列的条件后,分组查询出来的数据是这样的 可以看到用户id=4 的有三条数据,用户id=1的有两条数据. 我需求是相同的用户id只取最多两条数据,也就如下 ...

  7. WIN10下安装Oracle提示无法添加用户XXXX到XXXX组中办法

    WIN10下安装Oracle提示"无法添加用户XXXX到XXXX组中"办法 一般安装过程中不会提示这样的错误.不幸的是我遇到了,然后记录分享一下解决方法: 1.找到安装日志文件 ( ...

  8. es 指定排序字段_ES里多字段分组后排序

    ES里多字段分组再排序,只有两种办法,其他办法都不准: 办法一:用script 如 //主桶:设置要聚合的字段,sql TermsBuilder one = AggregationBuilders.t ...

  9. Oracle 以某字段分组,以某字段排序,取前几条

    select * from (select row_number() over(partition by 以此字段为分组  order by 以此字段排序 desc rn from dual) whe ...

最新文章

  1. python strip
  2. 关于DMA,TCM(ITCM和DTCM)和Cache的理解
  3. springmvc教程(4)
  4. python 中的路径. ./ .. ../和相对路径的写法
  5. hashmap实现倒排索引——查询多个单词出现在多个句子中
  6. DataGridView的DataGridViewComboBoxColumn列点击一次
  7. C语言:格式字符串中的类型
  8. 有关ArrayList的toArray()方法的一些探究
  9. 教你怎么蹭网实现和dualwan双倍网速上网
  10. 开放式关系抽取_有效的开放式合作伙伴关系的3课
  11. 关于清除贴图与光域网路径
  12. imewlconverter 制作Rime词库
  13. NumPy学习挑战第一关-NumPy的下载与安装
  14. H5社交漂流瓶交友源码/附安装教程
  15. 学生综合素质评价系统c语言,学生综合素质评价表自我评价范文(2)
  16. 我的秋招圆满落幕了,很开心
  17. 【链表】 链表的基本概念及分类
  18. 2020/08/28 周末计划
  19. Stata:缺失值的填充和补漏
  20. iPhone X下界面满屏展示

热门文章

  1. 「SAP技术」SAP不够严谨?
  2. java 公历 农历_java已知阳历日期求对应阴历日期源代码
  3. 找茬小游戏,uniapp小程序端+pc端操作静态页
  4. 关于国产COS操作系统的自主版权问题
  5. pr9打印机不吸纸问题解决方法
  6. IE7.0浏览器新增功能
  7. 淘宝天猫订单的查询与过滤
  8. Python 临时设置LD_LIBRARY_PATH
  9. Ubuntu 20.04 修改字体、调整缩放
  10. C++字符界面——反弹球