SQLスクリプト - 最後に生成されたデータを削除するには、ポリシーの数に応じて、テーブル内のデータを保持し、のみ以前に生成されたデータを残します

最近のプロジェクトでは、このようなAの問題に遭遇しました

运行SQL语句:a.contno有するカウント(a.contno)によってLIS_BUSI_TRANSACTIONS A 1 = 1とa.ruleid = '16' 群から選択a.contno> 1

SQL文は、保険が重複データでどのくらいのチェックアウトすることができますことをこれが意味。

今要求は、データが生成されたデータの最初の部分限り、証券番号によってグループ化されている複製することです。

今、私は、この表のデータの保守を実行するために、SQLスクリプトを記述してください:

SQLスクリプトを次のように:

表temp_lis_busi_transactions_aを作成する
(別個contnoを選択し、分(CREATE_TIME)、contnoによって1 = 1基、SID lis_busi_transactionsからSID)

temp_lis_busi_transactions_bテーブルを作成
内のSID(lis_busi_transactionsがSELECT * FROM
temp_lis_busi_transactions_aからSIDを選択)。

lis_busi_transactionsから削除します。
temp_lis_busi_transactions_bから選択* lis_busi_transactionsに挿入します。
temp_lis_busi_transactions_aから削除します。
temp_lis_busi_transactions_bから削除します。

おすすめ

転載: www.cnblogs.com/dongyaotou/p/12284136.html