0

集計テーブルに基づいて、顧客が最も購入した製品の概要を作成しようとしています。

表は以下の形式を取ります

account_code    product_id   num_purchases
abc123          1            10
abc123          2            5
xyz789          1            5

そして私は以下を返したい

account_code    product_id   
abc123          1           
xyz789          1           

そのため、アカウントごとに、そのアカウントで最も購入された製品の製品 ID が返されます。

私はこれまで苦労してきましたが、かなり基本的な解決策が必要だと感じています。:)

4

2 に答える 2

5
SELECT  account_code, product_id
FROM    (
            SELECT  account_code, product_id, num_purchases,
                    DENSE_RANK() OVER (PARTITION BY account_code 
                                        ORDER BY num_purchases DESC) RowID
            FROM    TableName
        )records
WHERE   RowID = 1

出力

╔══════════════╦════════════╗
║ ACCOUNT_CODE ║ PRODUCT_ID ║
╠══════════════╬════════════╣
║ abc123       ║          1 ║
║ xyz789       ║          1 ║
╚══════════════╩════════════╝
于 2013-05-15T15:36:28.810 に答える