私はいくつかの列を持っています。SQL - 別の列の値を一致させるために、ある列に最大値の行を取得する
ID - unique id for each row
Key - Correlating to a specific action (there is occasional duplicates)
Date - Lists the date and time for when each ID was created
重複したキーがある場合は、大きなIDの行のみを検索する必要があります。消えいくつかの例については
Select t1.*
From log as t1
Where t1.ID = (Select Max(t2.ID) From log as t2 Where t2.Key = t1.Key)
Order By ID
これは、いくつかの非重複(すべてではない非重複)を含む、ただし行のLOTを取り除く
:私が持っているもの
:
key 107914 -> logs [4360, 4361] Stays with 4361
key 107928 -> logs [4347, 4349, 4351, 4354, 4357] Gone
key 119207 -> logs [1189, 724] Gone
key 105079 -> logs [3399] Gone
key 107309 -> logs [4364] Stays with 4364
key 119210 -> logs [898] Gone
「gets rid of」と言うとき...重複している行を選択するのは意味しますか? (そして、SELECTを修正して重複しか持たないようにしたいのですが) – Grantly
それはmysqlサーバーかsqlサーバーですか?それらは非常に異なるデータベースエンジンであり、この特定の質問のために、Sql Serverにはこれをはるかに簡単にするいくつかの機能があります。 –
これはsqlサーバーです。キーの重複がなく、各キーのID値が最大の行だけが必要です。基本的には、同じ値の最新のキーだけでキー列をユニークにしたいと考えています。 –