Aracılığıyla paylaş


rank (Transact-SQL)

Her satırın bölüm içindeki bir sonuç kümesiderecesini verir.Bir satır derecesini satırdan önce söz konusu gelir dereceleri sayısı artı biri olur.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

RANK ( )    OVER ( [ < partition_by_clause > ] < order_by_clause > )

Bağımsız değişkenler

  • < partition_by_clause >
    Yapımcı sonuç kümesi ayıran from yan tümce tümcesine bölüm işlev rank uygulandığı.BÖLÜM tarafından sözdizimi için bkz: OVER Yan Tümcesi (Transact-SQL).

  • < order_by_clause >
    rank değerleri bir bölümündeki satırların uygulanma sırası belirler.Daha fazla bilgi için, bkz. order by yan tümcesi (Transact-SQL).Bir tamsayı sütun temsil edemez, <order_by_clause> bir sıralama işlevkullanılır.

Dönüş Türleri

bigint

Açıklamalar

Rank için iki veya daha fazla satır tedariği birbirine bağlamanın iki, bağlı her satır aynı rütbe alır.Örneğin iki önde gelen satış temsilcilerinin aynı olduğu, SalesYTD değeri, bunlar her ikisi de doğru bir.Satış temsilcisi ile sonraki en yüksek SalesYTD olduğu için daha yüksek derecelendirilir iki satır, üç numaralı sınıflanır.Bu nedenle, rank işlev ardışık rakamları her zaman döndürmez.

Tüm sorgu için kullanılan sıralama düzeni satırları bir sonuç kümesigörünme sırasını belirler.

Örnekler

Aşağıdaki örnek ürünler, bunların miktarları Stok göre derecelendirir.satır kümesi olarak bölümlenmiş LocationID ve sıralanmış olarak Quantity.Dikkat ORDER BY , OVER yan tümce sipariş RANK ve ORDER BY , SELECT deyim orders sonuç kümesi.

USE AdventureWorks2008R2;
GO
SELECT i.ProductID, p.Name, i.LocationID, i.Quantity
    ,RANK() OVER 
    (PARTITION BY i.LocationID ORDER BY i.Quantity DESC) AS 'RANK'
FROM Production.ProductInventory i 
    INNER JOIN Production.Product p 
        ON i.ProductID = p.ProductID
ORDER BY p.Name;
GO