Scroll

「常に新しい技術に目を向けること」
「既存の技術をより深堀りすること」

カテゴリ:MySQL
タグ:
公開日:2016/10/11(火)
最終更新日:2021/08/12(木)

[SQL]特定グループの各最大レコードを取得したい

どうも、ヤスです。

今回のやりたいことはこんな感じです。

↓↓↓↓↓こんなデータがあったとき↓↓↓↓↓

ID(主キー) NO(主キー) date
1 1 2015-12-10
1 2 2016-08-09
1 3 2016-09-05
2 1 2012-04-30
2 2 2013-10-10
3 1 2012-01-02

↓↓↓↓↓こんな感じでデータを取りたい↓↓↓↓↓

ID(主キー) NO(主キー) date
1 3 2016-09-05
2 2 2013-10-10
3 1 2012-01-02

要するにIDをグループとして、Noの最大値をとりつつ、IDとNoに紐付いたDATEも取得したい。

これでどうでしょう。。


んー、これでは、dateカラムが正しく取得できないし、SQLが不正。

こんなんええやん

「最大」を「他に当該値以下の値がない」と読むの術!

複合キーに限らず、同一グループ内で最大レコードを取りたい需要はあるのでは?

この記事を書いた人:ヤス


シェアのご協力をお願いいたします!

カテゴリー

アーカイブ