group by 按照一个字段分组,但select多字段?
问题描述
如下我创建了一张试图,我想group by按照RD.SKU分组求和RD.QTYRECEIVED字段为sumsum,但是我想显示select的六个字段,而不是就显示RD.SKU和sumsum,说的简单点就是,sumsum字段想实现相同RD.SKU的RD.QTYRECEIVED和
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
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 ......省略关联表
group by
R.WHSEID,
RD.STORERKEY,
RD.SKU,
RD.QTYRECEIVED,
RD.LOTTABLE04;
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我看你问过一个类似的问题,也没人回答,主要是问题点描述不清楚,大家想回答也无从下手。
只能给你说一下group by的基本用法:
group by子句中的字段,是作为分组用的,在你给的例子中有三个字段:R.WHSEID,RD.STORERKEY,RD.SKU,剩余的2个字段是计算字段,不应该放在group by中。
使用group by子句后,select子句后的字段,只能是group by中出现的字段,或通过聚合函数(min,max,avg等)计算字段。
在你给的例子中:sum(RD.QTYRECEIVED)是正确的;
下面两个字段是不正确,需要加聚合函数(min,max,avg等),因为group by后同一个分组存在多条数据,数据库没法判定取哪一条记录。
RD.QTYRECEIVED,
RD.LOTTABLE04+8/24 AS LOTTABLE04