【发布时间】:2017-04-17 13:19:20
【问题描述】:
这是我正在学习的书中没有解决的练习。 目标是找到每月销售额最高的卖家, 在有注册信息的所有月份内。问题是我不知道如何将元组划分为一个月的周期。
第一个表是:
Table Sellers
Id_seller
Name_Product
另外一个是:
Table Product
Name_Product
View_datetime
Budget
我做了什么?
我做了这个查询:
SELECT id_seller FROM(SELECT id_seller, COUNT(id_seller)
FROM SELLERS INNER JOIN PRODUCT
ON SELLERS.name_product = PRODUCT.name_product
GROUP BY id_seller HAVING COUNT(id_seller)>= 1
ORDER BY 2 DESC)
WHERE ROWNUM = 1;
查询返回给我大多数销售完成的卖家,但不是语句要求的“每个月,因为有记录”。有任何想法吗?我迷路了……
这个想法是比较每个推销员在这个月(sysdate)的总销售额,与一个月前,两个月前......只要有更旧的记录。并从每个卖家那里获得最大收益。然后你打印出上一个列表中销售额更高的卖家。如果一个卖家本月(4 月,即 sysdate)卖出了 400 件产品,而另一个卖家在去年 10 月卖出了 500 件,则结果将是第二个卖家。这就是我不知道该怎么做。
谢谢^^
【问题讨论】:
-
您能分享一些示例数据以及您尝试获得的结果吗?
-
@Mureinik 我不确定你的意思,我试图得到的结果就是声明所要求的(?)。问题是我不知道如何将每个销售额划分为一个月的时间段,按卖家分组,并获取有记录以来每月销售额较高的业务员。
-
穆雷尼克要问的是“你的输入数据的结构是什么”和“你想要的确切输出格式是什么”。例如,对于输入数据 - 你有什么?包含销售人员、交易日期和销售金额列的表格?日期是任何一个月内的任何日期?或者输入数据是否已经按月汇总?这些是我们无法在没有看到您的示例数据的情况下“猜到”的事情,或者您的详细解释。