特定の日付で最も売れた CD をリストする必要があるクエリを作成する必要があります。これを行うには、すべての CD とその購入日に関する情報しかありません。私のクエリは、CD_NO とそれらが持ち込まれたすべての日付のみをリストします。どの日が最も売上高があったかを示す結果テーブルを作成し、特定の CD に対して最も忙しい日付で並べ替える必要があります。サブクエリを作成する必要があると思いますが、これらは私を混乱させます。
これまでの私のクエリ:
SELECT CD_NO, purchase_date
FROM Artist
GROUP BY CD_NO, purchase_date
ORDER BY CD_NO
私は少し混乱しているので、任意の提案:(
クエリの正確な仕様は次のとおりです。
各 CD について、最も売れた日を調べます。結果表には、CD 番号とその日の日付を記載する必要があります。最大売上高が同じ日が複数日あった場合、CD が結果テーブルに複数回表示される可能性があることに注意してください。
望ましい出力:
CD_NO purchase_date
1 2011-12-30
2 2012-03-22
3 2012-04-24
3 2012-04-22
CD_NO 1 は 2011 年 12 月 30 日の特定の日付で最も多くの売上を記録し、CD_NO 2 は 2012 年 3 月 22 日の日付で CD_NO 2 の他のすべての購入日と比較して最も多くの売上を記録しました。両方の日付なので、両方の日付がリストされます。この結果表は、次の入力から導出されます。
CD_NO purchase_date
1 2011-12-30
1 2011-12-30
1 2011-12-29
1 2011-12-28
2 2012-03-22
2 2012-03-22
2 2012-03-21
3 2012-04-24
3 2012-04-24
3 2012-04-22
3 2012-04-22
3 2012-04-21
それが問題かどうかはわかりませんが、入力は必ずしも CD_NO 順であるとは限らず、購入日の最も早い日付が常に最後であるとは限りません。つまり、入力の順序はランダムにできますが、出力は CD_NO で順序付けする必要があります。