SQL语句在MS Access&中返回不同的值。 MSSQL

时间:2015-09-30 09:33:37

标签: sql sql-server

我正在尝试编写一个SQLStatement来从表中返回最大值。它适用于SQL Server,但Microsoft Access仅根据第一个数字(而不是整数)对值进行排序,从而返回错误的元组。

SELECT TOP 1 [Currency Code], [Relational Exch_ Rate Amount]
from [CRONUS Sverige AB$Currency Exchange Rate]
ORDER BY [Relational Exch_ Rate Amount] DESC

所以正确答案应该返回: GBP | 1354.xxx

在访问中我得到: HKD | 97.xxx

我也试过

SELECT [Currency Code], MAX([Relational Exch_ Rate Amount])
FROM [CRONUS Sverige AB$Currency Exchange Rate]

它只适用于MAX(columnName),但是当我在前面/之后添加[Currency Code]时它只返回错误的值。

编辑:似乎Access正在用字母而不是实际数字对数值进行排序。我试图找到一种方法来改变它 - 但没有结果。任何意见都表示赞赏。

3 个答案:

答案 0 :(得分:0)

如何放置GROUP BY

    SELECT [Currency Code], MAX([Relational Exch_ Rate Amount])
    FROM [CRONUS Sverige AB$Currency Exchange Rate]
    GROUP BY [Currency Code]

答案 1 :(得分:0)

在分组和订购后选择前1名可以得到你想要的东西

SELECT top 1 [Currency Code], MAX([Relational Exch_ Rate Amount])
FROM [CRONUS Sverige AB$Currency Exchange Rate]
GROUP BY [Currency Code]
order by MAX([Relational Exch_ Rate Amount]) desc

答案 2 :(得分:0)

我找到了解决方案。

诀窍是在我的SQL语句中使用Val([Relational Exch_ Rate Amount])来获取Access以识别数值。

现在好像它运转正常。

感谢所有支持