- - PR -
フィールド毎の、Top1を知りたい
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-09-01 09:36
これでどうでっか?
FieldBにインデックス作れば性能もそこそこでしょう。
| ||||
|
投稿日時: 2004-09-01 14:59
なんか思わぬ方向に進んでるのもありますが^^;
カーニーさんのSQLで期待している結果が返ってきました。 皆さんありがとうございました。 Top句ではなく、minを使うのがポイントだったのですね。 またまたテストに使ったのを後学のために書いておきます。 #必要なければ削除訂正します。 -------------------------------------------------------------------- /** ** --Drop Table ** Drop Table TestA ** ** go ** ** --Create Table ** Create Table TestA ** ( ** FieldA int not Null, ** FieldB Char(1) not Null, ** FieldC Char(2) not Null, ** Primary Key (FieldA, FieldB, FieldC) ** ) ** ** go ** ** --Test Data Insert ** insert into TestA(FieldA, FieldB, FieldC) Values ('1', 'A', 'AA') ** insert into TestA(FieldA, FieldB, FieldC) Values ('1', 'A', 'BB') ** insert into TestA(FieldA, FieldB, FieldC) Values ('2', 'A', 'CC') ** insert into TestA(FieldA, FieldB, FieldC) Values ('2', 'B', 'BB') ** insert into TestA(FieldA, FieldB, FieldC) Values ('2', 'B', 'CC') ** insert into TestA(FieldA, FieldB, FieldC) Values ('3', 'B', 'DD') ** insert into TestA(FieldA, FieldB, FieldC) Values ('5', 'C', 'EE') ** insert into TestA(FieldA, FieldB, FieldC) Values ('8', 'C', 'FF') ** ** go **/ --Select SELECT A.FieldA, A.FieldB, count(*) FROM TestA A WHERE A.FieldA = (SELECT min(B.FieldA) FROM TestA B WHERE B.FieldB = A.FieldB) GROUP BY A.FieldA, A.FieldB; | ||||
