• 06-06-2022, 14:32:11
    #1
    Merhaba,

    DELETE a FROM dbname a, dbname b WHERE a.id > b.id AND  b.name=a.name AND b.category = a.category;
    şu şekilde bir sql komutu kullanarak mükerrer kayıtları siliyorum ancak çok kasıyor data büyük olduğu için..

    SELECT id, name, count( * ) AS tekrar FROM dbname GROUP BY name HAVING tekrar >1 ORDER BY name ASC
    şu şekilde de tekrar eden sayıları sayabiliyorum. kasmıyor çok fazla. (db de ki name ve category tablosu aynı olan saysın vede...)

    ancak mükerrer (tekrarlayan) içerikleri silerken. eski id li kalacak, 1.den sonraki ne kadar kayıt varsa silmesi lazım.

    Nasıl bir kod kullanabilirim. Teşekkürler
  • 06-06-2022, 14:41:09
    #2
    Üyeliği durduruldu
    Delete from Tablo_Adi where ID in (

    Select MAX(ID) as ID
    From Tablo_Adi
    Group By Kolon_Adi
    Having Count (Kolon_Adi) > 1

    )

    Select Kolon_Adi as KLN, Count(Kolon_Adi) as ADET , MAX(ID) as ID
    From Tablo_Adi
    Group By Kolon_Adi
    Having Count (Kolon_Adi) > 1
  • 06-06-2022, 14:44:04
    #3
    Üyeliği durduruldu
    Onu Mın yaparsan Max olanı orjinaller haricini siler

    Delete
    From Tablo_Adi
    Where ID Not In
    (
    Select MIN(ID)
    From Tablo_Adi
    Group By Kolon1, Kolon2, Kolon3
    )
  • 06-06-2022, 15:15:47
    #4
    webirinci adlı üyeden alıntı: mesajı görüntüle
    Onu Mın yaparsan Max olanı orjinaller haricini siler

    Delete
    From Tablo_Adi
    Where ID Not In
    (
    Select MIN(ID)
    From Tablo_Adi
    Group By Kolon1, Kolon2, Kolon3
    )
    teşekkür ederim. gelen sonuç orjinal hariç tekrar edenlerin hepsi mi
  • 06-06-2022, 20:04:48
    #5
    Üyeliği durduruldu
    Evet umarım çözmüştür