我有一个典型的星型模式来模拟真实但简单的DW。我的事实表是SALES,除了其他产品外,它还有一些属性,如amount_sold,quantity_sold(每个产品),单价等。
现在我需要在Weka中引入一些数据来进行数据挖掘研究,其中我想要描述购买前3种产品的人的特征。所以,我需要,也许是一个辅助表,其中包含销售中的所有不同产品,以及为每一个销售的total_quantity。
AUX_TOTAL_PROD_SOLD将是这样的:
Collumn_1= prod_id
Collumn_2= total_sold
因此,为此目的,我需要:
1-一个PL / SQL程序来填充我的aux_Table
2-获得3个(或其他数量)最畅销的产品
我只需要找到它们然后我就可以将每个prod_id与购买它的客户联系起来。
你认为这是一种复杂的方式,还是你认为或有更好的想法?
我正在测试它,但如果可以,我会欣赏一些代码/伪代码。
提前谢谢
这就是我能够实现这一目标的方式:
SELECT * from
(SELECT prod_ID, SUM(s_quantity_sold) as TOTAL_SOLD
FROM SALES
GROUP BY prod_ID
ORDER BY SUM(s_quantity_sold) DESC )
where ROWNUM <=3
它就像一个魅力:)
答案 0 :(得分:1)
SELECT TOP 3 Product_ID, SUM(quantity_sold) AS total_sold
FROM [SALES]
GROUP BY Product_ID
ORDER BY SUM(quantity_sold) DESC
或SQL Server
DECLARE @n int
SET @n = 3
SELECT TOP (@n) Product_ID, SUM(quantity_sold) AS total_sold
FROM [SALES]
GROUP BY Product_ID
ORDER BY SUM(quantity_sold) DESC