The order you show is probably not exactly what your data contained : no descending sort order will put exactly that list in exactly that order.
When you use an
ORDER BY myDateColumn DESC
clause, it can produce what look like the wrong results if the column is string based instead of DATE or DATETIME, because string based comparisons always work on a character by character basis, and the whole comparison is based on the difference between the first pair of different characters. So the sort order for numbers looks odd:
1
10
11
12
...
19
2
20
...
So start by checking your database and make sure you are storing everything in the most appropriate datatype before you go any further.