繁体   English   中英

将一列中具有相等数据的行分组,并在另一列中将其相关数据求和[ORACLE SQL]

[英]group rows with equal data in one column and summing its related data in another column [ORACLE SQL]

ORACLE SQL

我有一张桌子CUSTOMER_UNITS

CUSTOMER_ID    UNITS_SOLD
AAAA    350
BBBB    150
CCCC    650
DDDD    250
AAAA    950
BBBB    450
CCCC    450
DDDD    350

我需要写一个查询,将每个CUSTOMER_ID的总和(UNITS_SOLD),其中UNITS_SOLD> = 350,并给我总计。 所以基本上结果应该是:

CUSTOMER_ID    UNITS_SOLD
AAAA    1300
BBBB    450
CCCC    1100
DDDD    350

我厌倦了以下代码:

SELECT
    CUSTOMER_ID
   ,SUM(UNITS_SOLD)
FROM
    (SELECT DISTINCT CUSTOMER_ID, UNITS_SOLD FROM CUSTOMER_UNITS)
WHERE UNITS_SOLD >= 350
GROUP BY CUSTOMER_ID;

但是它返回一个错误; ORA-00904:“ UNITS_SOLD”:无效的标识符

我很抱歉提出这个要求,我知道它必须超级简单,但是我尝试了至少15条建议,但没有运气。

这是为了使用..选择具有350个以上值的值。

select CUSTOMER_ID,  sum(UNITS_SOLD) 
from CUSTOMER_UNITS
group by CUSTOMER_ID
having sum(UNITS_SOLD) >= 350 ;

我不知道我在想什么。以下内容返回了我想要的内容:

SELECT
    CUSTOMER_ID
   ,SUM(UNITS_SOLD)
FROM
    CUSTOMER_UNITS
WHERE
    UNITS_SOLD >= 350
GROUP BY
    CUSTOMER_ID;

感谢您的建议。 我想有时候当你真的很简单的时候你会走困难的路

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM