SORU
7 NİSAN 2010, ÇARŞAMBA


Bulma SQL bir tablo yinelenen değerleri

Kolay bir alan ile çiftleri bulmak için:

SELECT name, COUNT(email) 
FROM users
GROUP BY email
HAVING ( COUNT(email) > 1 )

Eğer bir masa varsa

ID   NAME   EMAIL
1    John   asd@asd.com
2    Sam    asd@asd.com
3    Tom    asd@asd.com
4    Bob    bob@asd.com
5    Tom    asd@asd.com

Bu sorgu, hepsi 5 ** aynı çünkü bize John, Sam, Tom, Tom verecektir.

İstediğim şey, ancak, 6* *aynı çiftleri elde etmektirvename.

Yani, almak istiyorum "Tom", "Tom".

Buna ihtiyacım var sebep: bir hata yaptım, ve eklemek için izin name email yinelenen değerler. Şimdi/çiftleri kaldırmak ve değiştirmek için ihtiyacım var, ihtiyacım varbulabilirsinizonları ilk.

CEVAP
7 NİSAN 2010, ÇARŞAMBA


SELECT
    name, email, COUNT(*)
FROM
    users
GROUP BY
    name, email
HAVING 
    COUNT(*) > 1

Sadece grup iki sütun

Not: ANSI standardına GÖRE bu GRUP içinde sigara toplanan tüm sütunlar için.

MySQL bunu önlemek için izin verir, ama sonuçlar tahmin edilemez:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • FRED

    FRED

    1 EKİM 2005
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008