Order by MonthName

Hi all, I need your appreciated help.

This is my mysql table:

mysql> SELECT
	DATE_FORMAT(
		STR_TO_DATE(myDate, '%d/%m/%Y'),
		'%b, %Y'
	) AS `MonthName`,
	myDate AS `MyDate`
FROM
	tbl_myDate
GROUP BY
	`MyDate`
ORDER BY
	`MyDate` DESC;
+-----------+------------+
| MonthName | MyDate     |
+-----------+------------+
| Dec, 2012 | 01/12/2012 |
| Dec, 2011 | 01/12/2011 |
| Dec, 2010 | 01/12/2010 |
| Dec, 2009 | 01/12/2009 |
| Dec, 2008 | 01/12/2008 |
| Nov, 2012 | 01/11/2012 |
| Nov, 2011 | 01/11/2011 |
| Nov, 2010 | 01/11/2010 |
| Nov, 2009 | 01/11/2009 |
| Nov, 2008 | 01/11/2008 |
| Oct, 2012 | 01/10/2012 |
| Oct, 2011 | 01/10/2011 |
| Oct, 2010 | 01/10/2010 |
| Oct, 2009 | 01/10/2009 |
| Oct, 2008 | 01/10/2008 |
| Sep, 2012 | 01/09/2012 |
| Sep, 2011 | 01/09/2011 |
| Sep, 2010 | 01/09/2010 |
| Sep, 2009 | 01/09/2009 |
| Sep, 2008 | 01/09/2008 |
| Aug, 2012 | 01/08/2012 |
| Aug, 2011 | 01/08/2011 |
| Aug, 2010 | 01/08/2010 |
| Aug, 2009 | 01/08/2009 |
| Aug, 2008 | 01/08/2008 |
| Jul, 2012 | 01/07/2012 |
| Jul, 2011 | 01/07/2011 |
| Jul, 2010 | 01/07/2010 |
| Jul, 2009 | 01/07/2009 |
| Jul, 2008 | 01/07/2008 |
| Jun, 2012 | 01/06/2012 |
| Jun, 2011 | 01/06/2011 |
| Jun, 2010 | 01/06/2010 |
| Jun, 2009 | 01/06/2009 |
| Jun, 2008 | 01/06/2008 |
| May, 2012 | 01/05/2012 |
| May, 2011 | 01/05/2011 |
| May, 2010 | 01/05/2010 |
| May, 2009 | 01/05/2009 |
| May, 2008 | 01/05/2008 |
| Apr, 2012 | 01/04/2012 |
| Apr, 2011 | 01/04/2011 |
| Apr, 2010 | 01/04/2010 |
| Apr, 2009 | 01/04/2009 |
| Apr, 2008 | 01/04/2008 |
| Mar, 2012 | 01/03/2012 |
| Mar, 2011 | 01/03/2011 |
| Mar, 2010 | 01/03/2010 |
| Mar, 2009 | 01/03/2009 |
| Mar, 2008 | 01/03/2008 |
| Feb, 2012 | 01/02/2012 |
| Feb, 2011 | 01/02/2011 |
| Feb, 2010 | 01/02/2010 |
| Feb, 2009 | 01/02/2009 |
| Feb, 2008 | 01/02/2008 |
| Jan, 2013 | 01/01/2013 |
| Jan, 2012 | 01/01/2012 |
| Jan, 2011 | 01/01/2011 |
| Jan, 2010 | 01/01/2010 |
| Jan, 2009 | 01/01/2009 |
| Jan, 2008 | 01/01/2008 |
+-----------+------------+
61 rows in set

I need this order in output, can you help me?
Thanks in advance.

+-----------+------------+
| MonthName | MyDate     |
+-----------+------------+
| Jan, 2013 | 01/01/2013 |
| Dec, 2012 | 01/12/2012 |
| Nov, 2012 | 01/11/2012 |
| Oct, 2012 | 01/10/2012 |
| Sep, 2012 | 01/09/2012 |
| Aug, 2012 | 01/08/2012 |
| Jul, 2012 | 01/07/2012 |
| Jun, 2012 | 01/06/2012 |
| May, 2012 | 01/05/2012 |
| Apr, 2012 | 01/04/2012 |
| Mar, 2012 | 01/03/2012 |
| Feb, 2012 | 01/02/2012 |
| Jan, 2012 | 01/01/2012 |

...
...
...

+-----------+------------+

ORDER BY
    YEAR(`MyDate`) DESC
  , MONTH(`MyDate`) DESC

guido, his Mydate column is a varchar (because he needs to use STR_TO_DATE on it) and therefore you can’t apply date functions to it

So what is needed is to add another field that uses STR_TO_DATE(myDate, ‘%Y-%m-%d’) on the same date and then use that field in the order by instead.

Or change the column type into DATE

thank you all for help.

GROUP BY
	myDate
ORDER BY
	YEAR (
		STR_TO_DATE(myDate, '%d/%m/%Y')
	) DESC,
	MONTH (
		STR_TO_DATE(myDate, '%d/%m/%Y')
	) DESC;

much simpler would be

ORDER 
    BY STR_TO_DATE(myDate, '%d/%m/%Y') DESC