我编写了一个生成此输出的查询,但是日期没有按顺序排序,当我在访问的设计视图中执行相同的操作时。它正在做同样的事情。
SELECT
AIRCRAFT.tail_no, FORMAT([op_datetime],"Long Date") AS DayOfOperation,
COUNT(AIRCRAFT.Tail_No) AS Total
FROM
AIRCRAFT
INNER JOIN
OPERATION ON AIRCRAFT.AC_ID = OPERATION.AC_ID
WHERE
(((AIRCRAFT.tail_no)='xxxxxx'))
GROUP BY
AIRCRAFT.tail_no, FORMAT([op_datetime],"Long Date")
ORDER BY
MAX([op_datetime]);
下面的输出结果
tail_no DayOfOperation Total
xxxxxx 31 October 2016 1
xxxxxx 31 October 2015 1
xxxxxx 31 May 2016 2
xxxxxx 31 March 2016 1
xxxxxx 31 March 2015 2
xxxxxx 31 July 2017 1
xxxxxx 31 July 2015 2
xxxxxx 31 January 2016 1
xxxxxx 31 December 2016 1
答案 0 :(得分:2)
您没有按日期订购。您按字符串排序。因此,您的order by
工作正常。问题是你的数据。
我强烈建议您修复该列,因此它实际上存储为日期。
但是,datevalue()
应该适用于您的查询:
order by max(datevalue(op_datetime))