-2

重複の可能性:
重複するSQLレコードを削除する

テーブルから重複する行を削除したい

ID      uID     SID      USID
------------------------------
4391    007 Flight  ADM007
4392    007 Enquiry ADM007
6723    007 Flight  ADM007
6724    007 Enquiry ADM007
6725    008 Flight  ADM008
6726    008 Enquiry ADM008
4393    008 Flight  ADM008
4394    008 Enquiry ADM008
4395    009 Flight  ADM009
4396    009 Enquiry ADM009
6727    009 Flight  ADM009
6728    009 Enquiry ADM009

残しておきたい

4391    007 Flight  ADM007
4392    007 Enquiry ADM007
6725    008 Flight  ADM008
6726    008 Enquiry ADM008
4395    009 Flight  ADM009
4396    009 Enquiry ADM009

提案をください

4

1 に答える 1

1

CTE を使用できます。

with C as
(
  select row_number() over(partition by uID, SID, USID order by ID) as rn
  from YourTable
)
delete from C
where rn > 1

YourTable に残っている行は次のようになります。

ID          uID         SID        USID
----------- ----------- ---------- ----------
4391        7           Flight     ADM007
4392        7           Enquiry    ADM007
4393        8           Flight     ADM008
4394        8           Enquiry    ADM008
4395        9           Flight     ADM009
4396        9           Enquiry    ADM009

まさにあなたが探しているものではありませんが、注文する別の列がなくても十分です。

于 2012-10-26T06:05:58.197 に答える