在MS Access中使用ORDER BY的DISTINCT TOP返回重复项

时间:2016-06-30 02:14:11

标签: sql-server ms-access duplicates sql-order-by distinct

以下查询似乎忽略Microsoft Access中的DISTINCT。我期待1980年,1981年,1982年,1983年,但它回归1980年,1981年,1981年,1981年,......,1982年,1982年,1983年:

SELECT DISTINCT TOP 20 DatePart('yyyy', HIREDATE) FROM emp ORDER BY 1

非常类似的SQL Server查询非常有效:

SELECT DISTINCT TOP 20 DatePart(YEAR, HIREDATE) FROM emp ORDER BY 1

回到Access,它没有ORDER BY子句:

SELECT DISTINCT TOP 20 DatePart('yyyy', HIREDATE) FROM emp

但是,如下所示的其他查询与ORDER BY配合良好,并按预期删除重复项:

SELECT DISTINCT TOP 20 JOB FROM emp ORDER BY 1

有人可以正确解释为什么第一次查询失败而其他人没有。

0 个答案:

没有答案