2017-05-21 7 views
-3

私は4つのキーフィールドを持つテーブルを持っています。 A1(主キー)、A2、A3、A4。重複する行を削除し、その行をより高い値に保つにはどうすればよいですか?

A3が重複しているA4を削除したいと思います。

Ex。 A3値G258 - G258 A4 1000個の値 - 1500

はA3 = G258およびA4は、1000(下)

私はどのように行うことができますされたレコードを削除しますか?

+0

「A3」の中で「A4」がより低い*と重複しているとはどういう意味ですか? –

+0

A3値:G123 G123 A4値:100 150 G123を100から削除したい –

+0

タイトルと質問に一貫性がありません。タイトルでは、「行をより低い価値に保つ」ことを望みます。あなたの質問とコメントでそれを削除します。 –

答えて

0
delete t1 
from some_table t1 
join some_table t2 
    on t2.a3 = t1.a3 
    and t2.a4 > t1.a4; 

デモ:http://rextester.com/RERGD32491

これだけA3あたりA4で最も高い値を持つ行を維持します。 A3の同じ値を持つ2つの行がA4に同じ最高値を持つ可能性があります。その場合に何をすべきかを指定していないので、両方の行が保持されます。

+0

素晴らしい!どうもありがとう! –

関連する問題