Consulta no completada - MYSQL

Mi consulta hasta ahora:

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)

Mi consulta hasta el momento se genera a partir de una entrada de CD_no's y compra, y la fecha en la que se registraron más ventas para ese CD específico. Sin embargo, esto solo devuelve un valor para cada número de CD. Sin embargo, puede existir la posibilidad de que un CD_no tenga exactamente las mismas compras máximas en dos fechas diferentes y, por lo tanto, debe mostrar ambas fechas en el número del CD.

Salida de corriente:

CD_NO           mostsales
1             2011-12-30
2             2012-03-22
3             2012-04-24

Salida deseada:

CD_NO           mostsales
1             2011-12-30
2             2012-03-22
3             2012-04-24
3             2012-04-22

De la siguiente entrada:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta