1

我是一个包含下表的 MSAccess 数据库

表 A

#

Column1 Column2 金额
======= ======= ======
Value1 Total+ 100
Value1 Total- -50
Value2 Total- -233
Value2 Total+ +5

我想编写一个查询,它将为我提供最高绝对金额的不同行

预期结果
Column1 Column2 金额
======= ======= ======
Value1 Total+ 100
Value2 Total- -233

4

1 回答 1

1

可以使用以下查询检索此结果集。

Column1 max_abs_value
Value1            100
Value2            233

SELECT
    Column1,
    Max(Abs(Amount)) AS max_abs_value
FROM Table_A
GROUP BY Column1;

然后,如果您想查看这些相同行的Column2和的值Amount,您可以创建一个查询,将第一个用作子查询并加入到Table_A.

SELECT
    a.Column1,
    a.Column2,
    a.Amount
FROM
    Table_A AS a
    INNER JOIN (
        SELECT
            Column1,
            Max(Abs(Amount)) AS max_abs_value
        FROM Table_A
        GROUP BY Column1
    ) AS sub
    ON a.Column1 = sub.Column1
WHERE
    Abs(Amount)=sub.max_abs_value;
于 2012-07-02T22:27:44.737 回答