這是一個在我正在學習的書中沒有解決的練習。 目標是找出每月有最高銷售數量的賣家, 在有註冊信息的所有月份中。問題是我不知道如何將元組分成一個月的時間段。我如何解決這個查詢在SQL oracle?
第一個表是:
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)與一個月前,兩個月前的銷售額的總銷售額......只要有較舊的記錄。並從每個賣家獲得最大價值。然後,您從前面的列表中打印出更多銷售額的賣家。如果賣家本月銷售400件產品(4月,系統日期),而另一個賣家去年10月售出500件,則結果將是第二個賣家。這是我不知道該怎麼做的。
謝謝^^
你能分享一些樣本數據和你試圖得到的結果嗎? – Mureinik
@Mureinik我不知道你的意思,我試圖得到的結果是聲明要求(?)。 問題是,我不知道如何將每個銷售分爲一個月的時間段,通過銷售者將其分組,並獲得自有記錄以來每個月銷售更多的銷售員。 –
Mureinik問的是「輸入數據的結構是什麼」以及「你期望的輸出格式是什麼」。例如,對於輸入數據 - 你有什麼?有銷售員專欄,交易日期和銷售金額的表格?日期是在任何月份的任何日期?或者是按月份彙總的輸入數據?這些是我們無法看到您的樣本數據而「猜測」的事情,或者是您非常詳盡的解釋。 – mathguy