2016-11-14 7 views
1

各IDの列Aから最小値を取得する(おそらく非常に単純な)アクセスクエリを実行したいと思います。しかし、私はまた、他の列(この場合はB & C)の対応する値(同じ行の値)を保持したいと思います。アクセス:列間の最小値

私のアイデアはIDのためのグループ化機能と他の列のための「最小」機能を選択することでした。ただし、これは各列の最小値を返します(下の例を参照)。私はいくつかの他の機能を使いこなそうとしましたが、実際に動作するものは何もありません。ここで

は、私が何を意味するか説明する例です。

ID A B C 
1 5 10 10 
1 6 8 7 
1 4 5 9 
2 8 2 4 
2 5 7 3 
2 3 4 6 

これは私が欲しいものです(これは私のテーブルの小さな部分です):(列B &の独立した列の最小値C)

ID A B C 
1 4 5 9 
2 3 4 6 

しかし、これは私が得るものです:(各IDについて、各列の最小値)

ID A B C 
1 4 5 7 
2 3 2 3 

大変助かりました!

答えて

1

基本的に、与えられたIDAが最小値Aであるすべての行を選択するとします。 SQLに変換すると、次のようになります。

SELECT ID, A, B, C 
    FROM myTable AS T1 
WHERE A = (SELECT MIN(A) 
       FROM myTable AS T2 
      WHERE T2.ID = T1.ID) 
+0

ありがとう、それはまさに私が必要なものです! – mri