2012-06-05 3 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

, что СУБД? sql-сервер? MySQL? оракул? – Taryn

+0

У вас есть данные, доступные по тому, что itemId продается каждый день и в каких количествах (количестве)? – Jester

+0

нет, но я думаю, я могу суммировать (ItemID) над ним. Я думал о ранжировании суммы (ItemID)? – kiki

ответ

Смежные вопросы