Aracılığıyla paylaş


compute (Transact-SQL)

sonuç kümesi, sonunda ek özet sütunlar görüntülenen toplamları oluşturur.by ile kullanıldığında, compute yan tümce denetim sonları ve alt toplamları sonuç kümesioluşturur.TARAFINDAN compute ve compute aynı sorguda belirtebilirsiniz.

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın bir sonraki sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmayın ve bu özelliği kullanmakta olan uygulamaları mümkün olduğunca erken bir zamanda değiştirin.TOPLAMA yerine kullanın.Daha fazla bilgi için, bkz. Grup, (Transact-SQL).

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

Sözdizimi


[ COMPUTE 
    { { AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM } 
  ( expression ) } [ ,...n ] 
    [ BY expression [ ,...n ] ] 
]

Bağımsız değişkenler

  • AVG | COUNT | EN ÇOK | MIN | STDSAPMA | STDSAPMAS | VAR | VARS | TOPLA
    Gerçekleştirilecek toplama belirtir.Bu satır toplu işlevleri ile compute yan tümcekullanılır.

    Satır toplu işlev

    Sonuç

    AVG

    Sayısal ifadedeğerlerin ortalaması

    COUNT

    Seçili satır sayısı

    MAX

    En yüksek değer ifade

    MIN

    En düşük değer ifade

    STDEV

    ifadetüm değerlerin istatistiksel standart sapması

    STDEVP

    Tüm ifadedeğerleri popülasyon için istatistiksel standart sapması

    SUM

    Sayısal ifadedeğerlerin toplamı

    VAR

    Tüm değerleri ifadeiçin istatistiksel sapması

    VARP

    Tüm ifadedeğerleri popülasyon için istatistiksel sapması

    count(*) için eşdeğer yoktur.Grup ve count(*) tarafından üretilen özet bilgileri bulmak için by olmadan bir compute yan tümce kullanın.

    Bu işlevler null değerleri yoksayar.

    compute yan tümceile birlikte belirtildiğinde DISTINCT anahtar sözcüğünü satır toplu işlevleri ile izin verilmez.

    Eklediğinizde veya tamsayı veri ortalama SQL Server Veritabanı Altyapısı sonucu nitelendirir bir int değeri, sütun veri türü olsa bile smallint veya tinyint.Eklenen veya ortalama veri dönüş türleri hakkında daha fazla bilgi için bkz: sum (Transact-SQL) ve avg (Transact-SQL).

    Not

    odbc ve DBtaşma hataları olasılığını azaltmak için-kitaplık programları yapmak sonuçlar tüm değişken bildirimlerinde Ortalamalar, ya da veri türü toplar int.

  • expression
    Bir Deyimler (Transact-SQL), hesaplama yapılmadan bir sütun adı gibi.expressionseçme listesinde görünmesi gerekir ve bir seçim listesi ifadelerde aynı belirtilmelidir.Select listesinde belirtilen bir sütun diğer ad içinde kullanılamaz expression.

    Not

    ntext, text, veya image veri türleri bir compute veya compute by yan tümcetümcesinde belirtilemez.

  • TARAFINDANexpression
    Denetim sonları ve alt toplamları sonuç kümesioluşturur.expressionözdeş kopyasını olan bir order_by_expression ilişkili order by yan tümceiçinde.Genellikle, bir sütun veya sütun diğer adadıdır.Birden çok ifadeler belirtilebilir.by bir grup alt gruplara ayırır ve her düzey gruplandırma topluişlev geçerlidir sonra birden çok ifadeler listeleme.

    compute by kullanırsanız, ayrıca kullanmalısınız bir order by yan tümce.İfadeleri aynı ya da bir alt küme listelenmeyen order by sonra olmalı ve aynı sırada olmalıdır.Örneğin order by yan tümce , ORDER BY a, b, c,compute yan tümce herhangi biri veya tümü, aşağıdakilerden biri olabilir:

    COMPUTE BY a, b, c
    COMPUTE BY a, b
    COMPUTE BY a
    

    Not

    Bir select deyim içinde bir compute yan tümceile compute yan tümce toplu işlevlerinde sırası listesinde sütunların sırasını geçersiz kılar.odbc ve DB-Library programcılar toplu işlev sonuçlar doğru yere koymak için bu emri gereksinim hakkında bilmeniz gereken.

Çünkü deyimlerini compute de dahil tabloları oluşturmak ve Özet sonuçlar değil veritabanında depolanan select INTO deyim compute kullanamazsınız.Bu nedenle, select INTO deyimile oluşturulan yeni tablo compute tarafından üretilen tüm hesaplamalar görünmez.

select deyim BİLDİRMEK İMLEÇ deyimparçası olduğunda, compute yan tümce kullanamazsınız.

Örnekler

A.compute sorguda toplamları dönmek için kullanma

Aşağıdaki örnekte, SELECTdeyim kullanan basit bir COMPUTEtoplamının genel bir toplam üretmek içinyan tümce SubTotal ve TotalDue dan SalesOrderHeadertablo.

USE AdventureWorks2008R2;
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 35
ORDER BY OrderDate 
COMPUTE SUM(SubTotal), SUM(TotalDue);

B.compute sorguda toplamları dönmek için kullanma

Aşağıdaki örnekte, SELECTdeyim kullanan bir COMPUTEtoplamının satışçı başına toplamları üretmek içinyan tümce SubTotal ve TotalDue dan SalesOrderHeadertablo.

USE AdventureWorks2008R2;
GO
SELECT SalesPersonID, CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
ORDER BY SalesPersonID, OrderDate 
COMPUTE SUM(SubTotal), SUM(TotalDue) BY SalesPersonID;