मैं एक मेज से डुप्लिकेट को हटाने की जरूरत द्वारा विभाजन का उपयोग करके डुप्लीकेट:निकाल रहा है SQL सर्वर
;WITH cte as(
SELECT ROW_NUMBER() OVER (PARTITION BY [specimen id]
ORDER BY (SELECT 0)) RN
FROM quicklabdump)
delete from cte where RN>1
स्तंभ quicklabdumpID
प्राथमिक कुंजी है।
मैं चाहूँगा पता है कि कैसे केवल रखने के लिए सबसे बड़ा quicklabdumpID
जहां विभाजन
delete q
from quicklabdump q
where exists
(
select *
from quicklabdump q2
where q2.[specimen id] = q.[specimen id] and
q2.quicklabdumpID > q.quicklabdumpID
)
हटाएं। क्या आप कृपया मुझे बता सकते हैं कि क्लिंट के समाधान के साथ कोई समस्या है? –
@I__ - यह वही करेगा। प्रदर्शन में एक अंतर हो सकता है। यदि आप जानना चाहते हैं कि कौन सा तेज़ होगा तो आपको अपने डेटा पर उनका परीक्षण करना होगा। –