のmax発生して行のフェッチ:コードの場合私のようなテーブル持っているオラクル
SALES
PROD_CODE SALE_ID
321 30
123 67
321 46
321 82
123 48
321 91
を:
SELECT PROD_CODE, COUNT(SALE_ID) AS TOTAL_SALES
FROM SALES
GROUP BY PROD_CODE
ORDER BY COUNT(SALE_ID) DESC;
出力は次のとおりです。私は
PROD_CODE TOTAL_SALES
321 4
123 2
しかし、販売数が最大のprod_codeだけを出力として期待すると、
コードの場合PROD_CODE
321
::のような
SELECT PROD_CODE
FROM (SELECT MAX(COUNT(SALE_ID)) FROM SALES
GROUP BY SALE_ID);
コードが動作していません!オラクル12cは+で
「動作していません」と定義してください。間違いはありますか?間違った結果ですか?また、達成しようとしているものの背後にある論理を説明してください。最も売れ行きのあるコードを見つけようとしているようですね。 – Boneist
また、それぞれ3回販売された2つの商品コードがある場合はどうなりますか?どちらを表示しますか?要件や実際の問題を指定していません。 –
それはどういう意味ですか?販売数が最大のもの - つまり、4 - または最高の 'sales_id'を持っているので321 - ID 91を持つので321ですか?あなたのデータからは曖昧です。 (私は前者を前提としましたが、ゴードンは後者を前提としていたようですので、あなたの質問ではっきりと説明すれば助けになります)。最大販売数であれば、2つの商品が同じ*販売数を持つ場合、どうなりますか? 'total_sales'が4になる2つの商品がありますか? –