Vamos por el principio: Que tengas un campo de fecha pésimamente, ya es un problema grave. Y que no te lo dejen modificar, es peor.
¿Qué objeciones te ponen para cambiarlo?
Sería la solución mas simple, porque sería permanente. Ayudaría mucho a futuro, ya que no será la primera vez que te tomes con este problema...
Por otro lado, si no se puede modificar, en realidad la solución es usar funciones de conversión,
siempre y cuando el contenido de ese campo sea siempre de una única fecha, y respete siempre el mismo formato.
Precisamente, el uso de columnas de tipo caracter para guardar fechas tienen el inconveniente que no permiten validar si lo que se almacena es o no una fecha correcta... Podría guardar cualquier basura.
Adicionalmente, te aconsejo que
no uses LIKE para comparar datos que son magnitudes escalares. LIKE está definido para caracteres, y su uso sobre datos numéricos es totalmente desaconsejado.
Como sea, una solución aproximada sería esta:
Código MySQL:
Ver originalSELECT fechaalbaran
, descripcionarticulo
, COUNT(descripcionarticulo
) cantidad
GROUP BY descripcionarticulo
ORDER BY cantidad DESC
Dejo la parte de variables sólo para que te orientes. En este foro no se tratan temas de programación, como podrás leer en el link que puse en tu post.
La consulta final debe quedar mas o menos así, siendo, por ejemplo, el primero de diciembre de 2014: