sql tablom var ama bir kereden fazla katma değer ekledim, bunlardan birini silmem gerekiyor. Bana basit bir sorgu verebilir misin?SQL Server'da yinelenen verileri nasıl silerim?
cevap
here'dan. Zaten her satiri tanımlayan bir "Kimlik" alanı yoksa bunun işe yaraması için (bitirdiniz sonra her zaman sadece sütun bırakın), oluşturmanız gerekir:
DELETE
FROM MyTable
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM MyTable
GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn2)
Ayrıca, "yinelenen satır sql sunucusunu sil" için bu sitede bir arama yapın ve bu sorunun burada birçok kez yanıtlandığını göreceksiniz.
SO: http://stackoverflow.com/questions/18932/sql-how-can-i-remove-duplicate-rows – alextansc
+1'de böyle bir bağlantı doğru bir yanıt, referans bütünlüğü sorunu üzerine yorum yapmak ve bana öğretmek için tek seferde yeni bir şey. –
Kullanım:
Seti RowCount 1
Sonra Bu eşleşen birden çok satır var ne olursa olsun, 1 satır silinecektir silme sql
çalıştırın. Daha sonra, sorgu penceresini kapatın ya da sıfırlamak için Set RowCount 0 öğesini kullanın.
DECLARE @Duplicates TABLE (AValue VARCHAR(32))
INSERT INTO @Duplicates VALUES ('No Duplicate')
INSERT INTO @Duplicates VALUES ('Duplicate')
INSERT INTO @Duplicates VALUES ('Duplicate')
SELECT ID = IDENTITY(INT, 1, 1), *
INTO #Duplicates
FROM @Duplicates
DELETE FROM #Duplicates
FROM #Duplicates d
INNER JOIN (
SELECT ID = MIN(ID)
FROM #Duplicates
GROUP BY AValue
HAVING COUNT(*) > 1
) id ON id.ID = d.ID
DELETE FROM @Duplicates
INSERT INTO @Duplicates
SELECT AValue FROM #Duplicates
DROP TABLE #Duplicates
SELECT * FROM @Duplicates
- INTO OldTable
- INSERT DELETE FROM OldTable
- DISTINCT * SEÇ temptable aynı şema
- INSERT INTO geçici tablo oluşturun OldTable SEÇ * temptable temptable
- menüden
Ve unutmayın:
- bu yine
;WITH tempTable AS
(
SELECT ROW_NUMBER() OVER (PARTITION BY Column1 ORDER BY Column2) AS rownumber,*
FROM @Table
)
DELETE FROM tempTable WHERE rownumber > 1
Bu cevaplardan birinde belirtilen makalede bağlantısından alınır ama sadece bazen gelecekte birini kurtarmak için olmasına izin vermeyeceğim için tablolar Refactor ..
- 1. Yinelenen verileri silme ve SQL Server'da başka bir tabloya yükleme
- 2. SQL Server: çift verileri nasıl önlersiniz?
- 3. sql server ile sql serverda bir tablo nasıl yaratılır ad nerede kullanıcı tarafından girilir
- 4. Bash işlevini nasıl silerim?
- 5. SQL - Yinelenen Sonuçları
- 6. Yinelenen Olaylar, SQL Sorgu
- 7. SQL - Yinelenen bir
- 8. SQL Server Yinelenen Denetleme
- 9. Öğeleri nasıl düzenler ve silerim?
- 10. Bir veritabanını Firebase'den nasıl silerim?
- 11. SQL Server'da yinelenen kaydı nasıl kontrol edebilirim
- 12. SQL Server Yinelenen satırları kaldırın
- 13. Yinelenen verileri iteratörler veya yığınlar olmadan yükleyin
- 14. Yinelenen verileri ortadan kaldırmak için Temel Verileri Sırayla Sınıflandırılıyor
- 15. Verileri SQL Server'da birleştirme
- 16. Pivot verileri T-SQL
- 17. ElasticSearch'te yinelenen verileri nasıl kontrol ederim? bazı belgeler saklarken
- 18. Bir API'dan alınan yinelenen verileri kaldırmak için nasıl giderim?
- 19. Asp.net'den SQL Server'a eklenen verileri nasıl doğrularım?
- 20. Bir DNS Alanını Programsal Olarak Nasıl Silerim?
- 21. Görünümü Eclipse pydev perspektifinde editöre nasıl silerim?
- 22. Enjekte edilen CSS dosyasını nasıl silerim?
- 23. Matplotlib'deki grafiği nasıl silerim veya kapatırım?
- 24. Bir dosyayı performans deposundan nasıl silerim?
- 25. İmleç kelimenin ortasındayken nasıl kelime silerim?
- 26. clojure/ring'de, bir çerezi nasıl silerim?
- 27. Dosyaları geçmişten nasıl kalıcı olarak silerim?
- 28. SQL Server: Ben mantıksal olarak bazı verileri dönmelidir SQL Server üzerinde bir SQL sorgusu çalıştırıyorum verileri
- 29. bir sütunda yinelenen öğeleri bulmak Oracle SQL
- 30. SQL Raporlama Servisleri'nde yinelenen sütun değerlerini boşaltma
Bu _must_ çoklu çoğaltma olabilir. –