修改选择语句以求和单个字段

时间:2019-01-23 16:44:47

标签: sql oracle plsql subquery

我有下面的选择语句,该语句已提取了我需要的所有数据,但是我试图对其进行修改,以便将PROD_DATE的SHIFT的REJECTS相加。

SELECT B.PROD_DATE,B.SHIFT,B.REJECTS
FROM REJECTS B 
LEFT OUTER JOIN HIST_ILLUM_PART C ON B.HIST_ILLUM_PART_ID = C.ID
LEFT OUTER JOIN HIST_ILLUM_RT A ON A.ID = C.HIST_ILLUM_RT_ID
WHERE
B. REJECT_CODE NOT in ('START','SETUP','QC')
AND B.PROD_DATE >= SYSDATE - 8
ORDER BY SHIFT, PROD_DATE

我尝试过

   SELECT B.PROD_DATE,B.SHIFT,SUM(B.REJECTS)

我收到以下错误:ORA-00937:不是单组分组功能

我需要子查询吗?

1 个答案:

答案 0 :(得分:2)

进行聚合时,在查询中添加GROUP BY子句。对于伪代码,这意味着对于B.PROD_DATE和B.SHIFT的每个不同的组,获取该集合的所有B.REJECTS的总和,

for(let n of obj){
   <context>.update({name: n.name}, {$set: {'age':n.age}}, {upsert: true},  
(err, doc)=>{
    if(err) console.log(err);
    console.log(doc)
 })
}