SORU
16 ŞUBAT 2011, ÇARŞAMBA


FARKLI tek bir Sütun için

Hadi aşağıdaki sorgu var diyelim.

SELECT ID, Email, ProductName, ProductModel FROM Products

Nasıl döndürdüğü değişiklik yok e-Postaları yinelenen miyim?

Birkaç satır aynı e-posta içeren, diğer bir deyişle, sonuçlar bu satırlar yalnızca bir (tercihen sonuncusu) eklemek istiyorum. Diğer sütunlar içinde çiftleri izin verilmelidir.

DISTINCT GROUP BY gibi maddeler tüm satırlar üzerinde çalışmak için görünür. Bu yaklaşım nasıl emin değilim.

CEVAP
16 ŞUBAT 2011, ÇARŞAMBA


Eğer SQL Server 2005 veya üzeri kullanıyorsanız bunu kullanın:

SELECT *
  FROM (
                SELECT  ID, 
                        Email, 
                        ProductName, 
                        ProductModel,
                        ROW_NUMBER() OVER(PARTITION BY Email ORDER BY ID DESC) rn
                    FROM Products
              ) a
WHERE rn = 1

EDİT: Örnek kullanarak bir where:

SELECT *
  FROM (
                SELECT  ID, 
                        Email, 
                        ProductName, 
                        ProductModel,
                        ROW_NUMBER() OVER(PARTITION BY Email ORDER BY ID DESC) rn
                    FROM Products
                   WHERE ProductModel = 2
                     AND ProductName LIKE 'CYBER%'

              ) a
WHERE rn = 1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FND Films

    FND Films

    2 Mayıs 2006
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • TecNoob

    TecNoob

    15 AĞUSTOS 2013