1
グループごとに最大/最小<何でも>のレコードを取得する
どうやってするか? この質問の以前のタイトルは「ランクを使用した複雑なクエリでランクを使用(@Rank:= @Rank + 1)-機能しますか?」でしたが、ランクを使用したソリューションを探していましたが、Billが投稿したソリューションがはるかに良い。 元の質問: 定義された順序を指定して、各グループから最後のレコードを取得するクエリを作成しようとしています。 SET @Rank=0; select s.* from (select GroupId, max(Rank) AS MaxRank from (select GroupId, @Rank := @Rank + 1 AS Rank from Table order by OrderField ) as t group by GroupId) as t join ( select *, @Rank := @Rank + 1 AS …