0

私はテーブルを持っています:

select * from tmp_dib;

1360       DIBAKAR  SE1  
1360       DIBAKAR  SE  
1361       JAI          SE1  
1361       JAI          SE  
1365       NITISH   SE1  
1365       NITISH   SE  

SE1古い記録はどこにあり、SE新しい記録はどこにありますか。

以下のクエリにより、新しいレコードを取得しています。

select a.*  from tmp_dib a where rowid >
(select min(rowid) from tmp_dib b where a.ID=b.ID);

1360    DIBAKAR SE  
1361    JAI SE  
1365    NITISH  SE  

古いレコードのレコードを取得するためのクエリを手伝ってください。古いレコードを取得して削除したい。

私の望む出力:

1360    DIBAKAR     SE1  
1361    JAI         SE1  
1365    NITISH      SE1

これはサンプル テーブルです (実際のテーブル/データではありません)。約 10k のデータを含むテーブルがあり、それはライブ システムにあります。そのため、古いレコードでエントリを特定する必要があります。

4

3 に答える 3

0

これを試して、rowid を使用して古いレコードをフェッチして削除します。

DELETE FROM tmp_dib A WHERE ROWID <
(SELECT max(ROWID) FROM tmp_dib b WHERE A.ID=b.ID);
于 2013-09-17T08:13:31.700 に答える