ORACLE的我需要取一个良率最大值和别的数据

SELECT 不良数量,检验数量,TRUNC((检验数量-不良数量)/检验数量,2) AS 良率,物料,接收日期 FROM (

SELECT sum(CASE

                           WHEN ((检验结果 = '拒绝')

                               AND 抽检数量 = 0) THEN 处理数量

                           WHEN ((检验结果 = '拒绝')

                               AND 抽检数量 > 0) THEN 检验数量 *(抽检不合格数量 / 抽检数量)

                           ELSE 0

                       END) AS 不良数量,SUM(检验数量) AS 检验数量,物料,TO_CHAR(接收日期,'YYYY-MM-DD') AS 接收日期

FROM

MES_PROD.IQC_BILL_REPORT_VIEW ibrv

where  物料= '${物料号}'

GROUP BY 物料,接收日期)  ORDER BY 接收日期 ASC

MAX(良率)和别的数据 只需要一条

FineReport callie 发布于 2022-7-18 17:42
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
yzm339714Lv6中级互助
发布于2022-7-18 17:56

select * from (

SELECT 不良数量,检验数量,TRUNC((检验数量-不良数量)/检验数量,2) AS 良率,物料,接收日期 FROM (

SELECT sum(CASE

                           WHEN ((检验结果 = '拒绝')

                               AND 抽检数量 = 0) THEN 处理数量

                           WHEN ((检验结果 = '拒绝')

                               AND 抽检数量 > 0) THEN 检验数量 *(抽检不合格数量 / 抽检数量)

                           ELSE 0

                       END) AS 不良数量,SUM(检验数量) AS 检验数量,物料,TO_CHAR(接收日期,'YYYY-MM-DD') AS 接收日期

FROM

MES_PROD.IQC_BILL_REPORT_VIEW ibrv

where  物料= '${物料号}'

GROUP BY 物料,接收日期)  ORDER BY 良率 ASC) where rownum = 1

  • 2关注人数
  • 223浏览人数
  • 最后回答于:2022-7-18 17:56
    请选择关闭问题的原因
    确定 取消
    返回顶部