SQLを利用してグループ別のある最大値のデータを表示するには?

解決


よし  2008-11-30 14:09:03  No: 140914  IP: 192.*.*.*

MDBのa1テーブルのA,B,Cの各フィールドに
下記のデータが入っており、
SQLを利用して
Aのグループの中からCの最大値のみ
のデータを出力したいのですが。

テーブル名:a1  Aは重複データあり,bはユニーク,Cは重複データあり
A   B   C
1   1   4   
1   2   3
1   3   4
1   4   1
2   1   2
2   2   1
2   3   4
2   4   1
3   1   1
3   2   2
3   3   3
3   4   4
このデータから

このような結果を求めたい。
A   B   C
1   1   4
1   3   4
2   3   4
3   4   4

ご教授お願いします。

編集 削除
魔界の仮面弁士  2008-11-30 15:21:32  No: 140915  IP: 192.*.*.*

こうかな。

Dim SQL As String
SQL = "SELECT * FROM a1 WHERE EXISTS(SELECT A FROM a1 Y WHERE Y.A = a1.A GROUP BY A HAVING MAX(C) = a1.C)"

# VB とは直接関係が無い質問内容になっているので、
# せめて回答だけでも VB っぽく書いてみたり。

編集 削除
よし  2008-12-01 00:22:32  No: 140916  IP: 192.*.*.*

魔界の仮面弁士さんご教授どおりのSQL文で
解決でき非常に助かりました。
ありがとうございました。

編集 削除