回答編集履歴

1 サブクエリを使わないパターン

ngyuki

ngyuki score 4527

2015/07/30 16:14  投稿

定番の相関サブクエリを使うパターンだと思います。
```sql
select
 id, "GROUP", PARAM
from t
where
where
 ID = (
   select top 1 x.ID
   from t as x
   where x."GROUP" = t."GROUP"
   order by x.PARAM desc, x.ID asc
)
```
[http://sqlfiddle.com/#!6/cce11e/7](http://sqlfiddle.com/#!6/cce11e/7)
[http://sqlfiddle.com/#!6/cce11e/7](http://sqlfiddle.com/#!6/cce11e/7)
---
列がその3つだけならこんなかんじでもできるかも。
```sql
select
 min(t.id) as ID, t."GROUP", t.PARAM
from t inner join t as x
 on x."GROUP" = t."GROUP"
group by
 t."GROUP", t.PARAM
having
 t.PARAM = max(x.PARAM)
order by
 ID asc
```
[http://sqlfiddle.com/#!6/cce11e/9](http://sqlfiddle.com/#!6/cce11e/9)

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る