0

ID と複数の有益な列を含むテーブルがあります。ただし、1 つの ID に対して複数のデータを使用できる場合もあるため、「Sequence」という列を追加しました。短縮された例を次に示します。

ID      Sequence      Name     Tel       Date        Amount
124     1             Bob      873-4356  2001-02-03  10
124     2             Bob      873-4356  2002-03-12  7
124     3             Bob      873-4351  2006-07-08  24
125     1             John     983-4568  2007-02-01  3
125     2             John     983-4568  2008-02-08  13
126     1             Eric     345-9845  2010-01-01  18

したがって、次の行のみを取得したいと思います。

124     3             Bob      873-4351  2006-07-08  24
125     2             John     983-4568  2008-02-08  13
126     1             Eric     345-9845  2010-01-01  18

これを行うための SQL クエリを作成する方法を教えてください。

ありがとう !

4

1 に答える 1

2

を使用して最大数列を計算できますgroup by。次にjoin、元のデータの最大値のみを取得するために使用できます。

あなたのテーブルが呼ばれると仮定しますt

select t.*
from t join
     (select id, MAX(sequence) as maxs
      from t
      group by id
     ) tmax
     on t.id = tmax.id and
        t.sequence = tmax.maxs
于 2013-07-18T19:06:57.073 に答える