2012-06-05 54 views
0

我有一個銷售表具有以下的列:SQL入門轉動前5

[Date], [StoreID], [ItemID], [AmountInDollars]. for example: 

06052012 | 1 | 111 | 2.35 
06052012 | 1 | 222 | 5.00 
06052012 | 2 | 333 | 9.99 
... 
01052012 | 30 | 999 | 3.98 

我希望能夠以這種方式來選擇數據:

[Date] | [StoreID] | totalSalesForTheDay | TopSellingItemID1 | TopSellingItemID2 | TopSellingItemID3 

我想以下:

select date, 
     storeID, 
     sum(AmountInDollars), 
     ItemID 
from sales 
group by date, 
     storeID, 
     ItemID 

這給在那一天售出的所有ItemIDs ... 我怎樣才能 1 。限於只有3個頂級商品 2.呈現3個頂級商品在同一水平線上

謝謝!

按要求 - 數據樣本。這是一個原始表

Date | StoreID | ItemID | AmountInDollars 
06052012 | 1 | 111 | 2.35 
06052012 | 1 | 222 | 5.00 
06052012 | 1 | 444 | 9.99 
06052012 | 1 | 222 | 5.00 
06052012 | 1 | 444 | 9.99 
06052012 | 1 | 333 | 9.99 
06052012 | 1 | 444 | 9.99 
06052012 | 2 | 222 | 5.00 
06052012 | 2 | 444 | 9.99 
06052012 | 2 | 333 | 9.99 
06052012 | 2 | 444 | 9.99 
05052012 | 1 | 111 | 2.35 
05052012 | 1 | 222 | 5.00 
05052012 | 1 | 444 | 9.99 
05052012 | 1 | 222 | 5.00 
05052012 | 1 | 444 | 9.99 
05052012 | 1 | 333 | 9.99 
05052012 | 1 | 444 | 9.99 
05052012 | 2 | 222 | 5.00 
05052012 | 2 | 444 | 9.99 
05052012 | 2 | 333 | 9.99 
05052012 | 2 | 444 | 9.99 

將導致:

Date  | StoreID |totalsales | TopSellingItemID1 | TopSellingItemID2 | TopSellingItemID3 
06052012 | 1  | 52.31 | 444 | 222 | 111 
06052012 | 2  | 34.97 | 444 | 222 | 333 
05052012 | 1  | 52.31 | 444 | 222 | 111 
05052012 | 2  | 34.97 | 444 | 222 | 111 

謝謝...

+1

什麼是DBMS? SQL服務器? MySQL的?甲骨文? – Taryn

+0

你有什麼itemid每天銷售的數據avallable和數量(數量)? – Jester

+0

不,但我想我可以總結(ItemID)。我在考慮對總和(ItemID)進行排名? – kiki

回答