鍍金池/ 問答/數(shù)據(jù)庫/ group by 按照一個(gè)字段分組,但select多字段?

group by 按照一個(gè)字段分組,但select多字段?

問題描述

如下我創(chuàng)建了一張?jiān)噲D,我想group by按照RD.SKU分組求和RD.QTYRECEIVED字段為sumsum,但是我想顯示select的六個(gè)字段,而不是就顯示RD.SKU和sumsum,說的簡單點(diǎn)就是,sumsum字段想實(shí)現(xiàn)相同RD.SKU的RD.QTYRECEIVED和

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

CREATE OR REPLACE VIEW aaa AS
SELECT

   R.WHSEID,
   RD.STORERKEY,
   RD.SKU,
   RD.QTYRECEIVED,
   RD.LOTTABLE04+8/24  AS  LOTTABLE04,
   sum(RD.QTYRECEIVED) as sumsum    

FROM ......省略關(guān)聯(lián)表
group by

   R.WHSEID,
   RD.STORERKEY,
   RD.SKU,
   RD.QTYRECEIVED,
   RD.LOTTABLE04;

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
囍槑

我看你問過一個(gè)類似的問題,也沒人回答,主要是問題點(diǎn)描述不清楚,大家想回答也無從下手。

只能給你說一下group by的基本用法:
group by子句中的字段,是作為分組用的,在你給的例子中有三個(gè)字段:R.WHSEID,RD.STORERKEY,RD.SKU,剩余的2個(gè)字段是計(jì)算字段,不應(yīng)該放在group by中。

使用group by子句后,select子句后的字段,只能是group by中出現(xiàn)的字段,或通過聚合函數(shù)(min,max,avg等)計(jì)算字段。
在你給的例子中:sum(RD.QTYRECEIVED)是正確的;
下面兩個(gè)字段是不正確,需要加聚合函數(shù)(min,max,avg等),因?yàn)間roup by后同一個(gè)分組存在多條數(shù)據(jù),數(shù)據(jù)庫沒法判定取哪一條記錄。
RD.QTYRECEIVED,
RD.LOTTABLE04+8/24 AS LOTTABLE04

2018年9月21日 10:01