按日期排序未正确列出从数据库中选择的日期

Order by DATE does not properly list the dates selected from DB

我有一个像这样的简单查询...

SELECT Distinct(CONVERT(VARCHAR(8), ListDate, 1)) as ListDate 
FROM tblData

日期像这样拉起来...

01/13/17
04/06/17
10/12/16
07/28/16
05/24/16
07/10/17

现在,我做其中任何一个都没关系..

Order By ListDate ASC or Order By ListDate DESC

日期顺序不对,都是 17 和 16 混在一起的

我试过了

Order By Cast(listDate as date)

但它给了我错误说明

Order By items must appear in the select list if Select Distinct is Specified?

任何方式我都可以按升序排列日期

您可以使用的一种方法是:

SELECT CONVERT(VARCHAR(8), ListDate, 1) as ListDate 
FROM tblData
GROUP BY CONVERT(VARCHAR(8), ListDate, 1)
ORDER BY MIN(ListDate) DESC;

换句话说,如果您使用 GROUP BY,您可以更灵活地进行查询。