0

次の列を持つ販売テーブルがあります。

[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

これにより、その日に販売されたすべての ItemID が得られます。

ありがとう!

ご要望に応じて - データ サンプル。オリジナルテーブルです

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

ありがとう...

4

1 に答える 1

0

Vertica が Pivot をサポートしているとは思えません。

同様の質問への回答は次のとおりです。 Vertica でクロス集計を行うにはどうすればよいですか

于 2012-06-06T13:11:28.173 に答える