按日期排序MySQL查询仅按天排序,而不是完整日期

the*_*cus 3 mysql

我有一个查询,我试图按最近的日期排在最前面,直到最低的最低结果.这是查询

SELECT headline, story, DATE_FORMAT(date, "%d-%M-%Y") AS date, 
name, logo, tpf_parks.park_id, url, alt, description
FROM tpf_news
INNER JOIN tpf_parks ON tpf_news.park_id = tpf_parks.park_id 
LEFT JOIN tpf_images ON tpf_news.news_id = tpf_images.news_id 
ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)

虽然结果排序错误,但它只按天排序,所以结果按如下顺序排序:25-march-2013, 23-april-2013, 19-febuary-2013, 10-may-2013等我认为是因为我显示日期的方式DATE_FORMAT(date, "%d-%M-%Y") AS date,但我不知道如何解决它.有任何想法吗?

Spa*_*rky 8

试试这个:

 SELECT headline, story, DATE_FORMAT(date, "%d-%M-%Y") AS Displaydate, 
    name, logo, tpf_parks.park_id, url, alt, description
    FROM tpf_news
    INNER JOIN tpf_parks ON tpf_news.park_id = tpf_parks.park_id 
    LEFT JOIN tpf_images ON tpf_news.news_id = tpf_images.news_id 
    ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)

这样,mySQL将按真实日期字段排序,您的应用程序代码将按照您希望的方式显示日期格式