SQL 即使我不使用 ABS(),MAX() 函数也会选择绝对值最大的?
SQL MAX() function selects the greatest in absolute value even if I don't use ABS()?
我正在尝试获取列的最大值,它返回绝对值的最大值。例如,假设我们有 TABLE:
TAG | VALUE
-------------
A | 1.5
B | -3.0
C | 0.5
D | 2.0
E | -2.5
我正在做的查询很简单
SELECT TAG, MAX(VALUE)
FROM TABLE
GROUP BY TAG
但是我得到的结果是
-3.0
从技术上讲,这是最高的绝对值,但不是最高的总体值 (2.0)。此 VALUE 字段存储为 nvarchar(255),我没有 table 本身的编辑权限。也许我可以在新查询中更改它的格式(假设可以解决问题)?
SELECT TAG, MAX(cast(VALUE as decimal(10,1)))
FROM TABLE
GROUP BY TAG
我正在尝试获取列的最大值,它返回绝对值的最大值。例如,假设我们有 TABLE:
TAG | VALUE
-------------
A | 1.5
B | -3.0
C | 0.5
D | 2.0
E | -2.5
我正在做的查询很简单
SELECT TAG, MAX(VALUE)
FROM TABLE
GROUP BY TAG
但是我得到的结果是
-3.0
从技术上讲,这是最高的绝对值,但不是最高的总体值 (2.0)。此 VALUE 字段存储为 nvarchar(255),我没有 table 本身的编辑权限。也许我可以在新查询中更改它的格式(假设可以解决问题)?
SELECT TAG, MAX(cast(VALUE as decimal(10,1)))
FROM TABLE
GROUP BY TAG