これまでの私のクエリ:
SELECT CD_no, purchasedate, COUNT(*) mostsales
FROM Sales A
GROUP BY CD_no, purchasedate
HAVING COUNT(*) =
(SELECT MAX(mostsales)
FROM
(SELECT CD_no, purchasedate, COUNT(*) AS mostsales
FROM Sales
GROUP BY CD_no, purchasedate) B
WHERE CD_no = A.CD_no)
これまでのクエリは、CD_no と purchase の入力から生成され、その特定の CD の売上が最も多かった日付を見つけます。ただし、これは各 CD 番号に対して 1 つの値のみを返します。ただし、CD_no の最大購入数が 2 つの異なる日付でまったく同じである可能性があるため、CD 番号に対して両方の日付を表示する必要があります。
現在の出力:
CD_NO mostsales
1 2011-12-30
2 2012-03-22
3 2012-04-24
望ましい出力:
CD_NO mostsales
1 2011-12-30
2 2012-03-22
3 2012-04-24
3 2012-04-22
次の入力から:
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