SORU
23 Kasım 2009, PAZARTESİ


MySQL bir sütunda aynı değere sahip olan satırları bulmak

[Üye] bir tabloda, bazı satırlar email sütun için aynı değere sahip.

login_id | email
---------|---------------------
john     | john123@hotmail.com
peter    | peter456@gmail.com
johnny   | john123@hotmail.com
...

Bazı insanlar farklı bir login_id ama aynı e-posta adresi, benzersiz bir kısıtlama bu sütun üzerine kuruldu. Şimdi bu satırları bulmak ve eğer kaldırılması gerekir olup olmadığını görmek istiyorum.

Ne SQL deyimi bu satırları bulmak için kullanmalıyım? (MySQL 5)

CEVAP
23 Kasım 2009, PAZARTESİ


Bu sorgu alıştılar nasıl e-posta adresleri listesi ve, en çok kullanılan adresler ilk olarak verecektir.

select email, count(*) as c from table group by email having c >1 order by c desc

Eğer tam bir satır varsa

select * from table where email in (
    select email from table group by email having count(*) > 1
)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • Le Cargo !

    Le Cargo !

    24 HAZİRAN 2007
  • The Dubstep FX

    The Dubstep

    5 Mart 2011