1

次の表を含むMSAccessデータベース

表A

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

絶対量が最も多い個別の行を取得するクエリを作成したい

期待される結果
Column1Column2Amount ======= =======
======
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 に答える