SQL toplama işlevleri – SUM, MIN, MAX, AVG, COUNT. SQL Sum uygulamasında hesaplanmıştır

Golovna / Nalaştuvannya

Vchimosya pіdbivati ​​​​pіdbags. Hі, SQL hesaplamasının sonuçları değil, veri tabanı tablolarının değerlerinin alt torbalarıdır. Toplam SQL işlevleri, tek bir sonuç değerine kadar değere göre değişir. SQL toplama işlevleri SUM, MIN, MAX, AVG ve COUNT en sık kullanılır. Toplama işlevleri arasında iki fark vardır. Birincisi: toplu işlevler, güçlü kuvvetler tarafından galip gelir ve bir bileşke değeri döndürür. Diğer: Toplama işlevleri, SQL GROUP BY operatörü ile eşleştirilir, yani elde edilen değerleri skin grubundan çıkarmak için alanlara (standlar) göre gruplanır. Toplama fonksiyonlarının gruplandırmadan dağılımının başlangıcına bir göz atalım.

SQL SUM işlevi

SQL SUM işlevi, bir veritabanı tablosunun yayılan değerlerinin toplamını döndürür. Vaughn, böyle bir sayının anlamı olan stovptsіv'a kadar yalnızca zastosovuvatisya yapabilir. SQL'den elde edilen toplamı almasını istemek şöyle başlar:

SUM SEÇ (IM'I_COLUMN) ...

Bundan sonra, FROM (IM'YA_TABLES) öğesini takip edin ve ardından ek bir WHERE yapısından sonra, zihni de belirtebilirsiniz. Ayrıca sütun adından önce DISTINCT yazılabilir, bu da yalnızca benzersiz değerlerin korunduğu anlamına gelir. Kilitleme için tüm değerler iade edilir (bunun için özellikle DISTINCT değil, TÜMÜ belirtebilirsiniz, ancak TÜMÜ bağlayıcı değildir).

Bu dersin veri tabanına MS SQL Server üzerinde indirmek istiyorsanız, DBMS bilgisayarınızda kurulu değilse bu istek için yönergeleri takip ederek kurabilirsiniz. .

Şirketlerin veri tabanı ile çalışıyoruz - Şirket1. qієї dannyh veritabanı, її tablosu ve yanmış tablo danimi oluşturmak için komut dosyası - gönderilen cim dosyasında .

örnek 1.ї її pіdrozdіli ve svіrobіtnikіv hakkında verileri olan firmaların veri tabanı. Personel tablosu ayrıca işe alım görevlilerinin maaşlarına ilişkin verileri de içerir. Tablodan seçim şöyle görünebilir (resmi büyütmek için farenin sol tuşu ile üzerine tıklayın):

Fazla maaş bordrolarının toplamını sabitlemek için, talebi ilerletmek mümkündür (MS SQL Server'da - USE şirketi1'in ön tasarımından;):

Personelden SUM (Maaş) SEÇİN

Tsey, 287664.63 değerinin dönüşünü ister.

Ve şimdi . Sağda, zaten işleri kolaylaştırmaya ve onları pratik olan sessizliğe yaklaştırmaya başlıyor.

SQL MIN işlevi

SQL MIN işlevi ayrıca değerin minimum ortalama değerini döndürmek için bir dizi değer kullanır. Bu işlevin, SUM işlevininkine benzer bir sözdizimi vardır.

Örnek 3. Veri tabanı tablodur - uygulama 1'deki ile aynı.

42 numaralı spіvrobіtnikіv vіddіl z için asgari ücret hakkında bilgi edinmek gerekir. Avans talebini kimin için yazıyoruz (MS SQL Server'da - ön tasarım USE şirketi1 ile;):

Dönüş değeri 10.505.90'dır.

yeniliyorum kendi kendine yeterlilik hakkı. Bunu yapma hakkına sahip olanlar için sadece Personel tablosu değil, aynı zamanda Org tablosu da şirketin güncellemeleriyle ilgili verilerin intikamını almak için gereklidir:


Örnek 4. Org tablosu, şirketin güncellemelerinin verilerinin intikamını alan Personel tablosuna eklenir. Vivesti minimum rokiv sayısı, opratsovanyh bir spіvrobіtnik vіddіlі, Bostonі yakınlarındaki rastashovanuyu.

SQL MAX işlevi

SQL MAX işlevi benzer şekilde çalışır, bu nedenle sistemin ortalama değerinin maksimum değerini ayarlamak gerekirse duracaktır.

Örnek 5.

42 numaralı davada spivrobitnik'in maksimum maaşını öğrenmek gerekir. Bunun için avans talebini yazıyoruz (MS SQL Server'da - ön tasarım ile şirket1 KULLANIN;):

18352.80 değerini okuyun

gel saat kendi kendine yeterlilik hakkı.

Örnek 6.İki tabloya aşinayım - Staff ve Org. Doğu ödeme grubuna (Bölüm) ait olan liderden bir dönüş alacağı için komisyonun maksimum değerinin adını girin. Vikoristati JOIN (tablo oluşturma) .

SQL AVG işlevi

Doğru ve SQL AVG işlevlerine benzer olarak ileri işlev açıklamaları için sözdizimine başvurulur. Bu işlev, tükürüğün ortalama değerinin ortalama değerini döndürür.

Örnek 7. Veri tabanı o tablodur - ön izmaritlerdekiyle aynı.

42 numaralı işçinin sivrobitniklerinin ortalama iş tecrübesi hakkında bilgi edinelim. Kimler için saldırgan bir istek yazıyoruz (MS SQL Server'da - USE şirketi1'in ön tasarımı ile;):

Sonuç 6.33 değeri olacaktır.

Örnek 8. Bir masa ile Pratsiyuemo - Personel. 4 ila 6 yıl arasında deneyime sahip uygulayıcıların ortalama maaşını girin.

SQL SAYI işlevi

SQL COUNT işlevi, bir veritabanı tablosundaki kayıt sayısını döndürür. Sorguda SELECT COUNT(IM_COLUMN) ... öğesini seçerseniz, sonuç, NULL (tanımsız) değerlere sahip uranyum kayıtları olmayan kayıtların sayısı olacaktır. Bir z ile argüman olarak kazanırsanız ve SEÇİM SAYISI(*) ... diye sormaya başlarsanız, sonuç tablodaki tüm kayıtların (satırların) sayısı olacaktır.

Örnek 9. Veri tabanı o tablodur - ön izmaritlerdekiyle aynı.

Tüm spivrobitniklerin sayısını, komisyonların nasıl düşüleceğini öğrenmek gerekir. Comm değerlerinin NULL olmadığı sütun sayısı, sırayla daha ileridir (MS SQL Server'da - ön yapı USE şirketi1 ile;):

Personelden SAYI SEÇ (İletişim)

Sonuç 11 değeri olacaktır.

popo 10 Veri tabanı o tablodur - ön izmaritlerdekiyle aynı.

Tablodaki toplam kayıt sayısını tanımak gerekirse, otomatik olarak SAYI işlevinin bir argümanı olarak yüklenecektir (MS SQL Server'da - ön yapı USE şirketi1 ile;):

Personelden SAYI SEÇ (*)

Sonuç 17 değeri olacaktır.

saldırıda bağımsız görüş hakkı pidzapit vikoristovuvat için gereklidir.

Örnek 11. Bir masa ile Pratsiyuemo - Personel. Vivesti, planuvannya (Plains) ile ilgilidir.

İşlevleri bir kerede SQL GROUP BY'den toplama (gruplama)

Şimdi SQL GROUP BY operatörü ile bir kerede toplama işlevlerine bakalım. SQL GROUP BY operatörü, veritabanı tablolarındaki sütunların elde edilen değerlerini gruplamak için kullanılır. sitede ders, hangi operatörün ödevleri .

"Portal goloshen 1" veri tabanına sahip Pratsyuvatimemo. Bir veri veritabanı, bir tablo ve bir veri yazma tablosu oluşturmak için komut dosyası - cim istekleri için dosyada .

popo 12 Ayrıca, portalın veri tabanı şaşkına döndü. Vaughn, Gün için dosyalama iftirayla ilgili verilerin intikamını almak için Reklamlar tablosunun intikamını aldı. Kategori bölümü, büyük iftira kategorileri (örneğin, Nerukhomist) hakkındaki verilerin intikamını almak içindir ve Parçalar bölümü, kategoriye dahil edilebilecek diğer bölümler hakkındadır (örneğin, Apartmanların ve Yazlıkların bölümleri, Nerukhomist'in parçalarıdır). kategori). Stovpets Birimleri, sersemletme sayısı hakkında veri toplamak için ve Stovpets Money - bir sersemletici dosyalamak için alınan bir kuruş toplamı hakkında.

KategoriBölümBirimlerPara
UlaşımArabalar110 17600
kuralsızlıkDaireler89 18690
kuralsızlıkyazlık evler57 11970
Ulaşımmotosikletler131 20960
Budmalzemelerdoshki68 7140
Elektrik Mühendisliğitelevizyonlar127 8255
Elektrik Mühendisliğibuzdolapları137 8905
BudmalzemelerKayıtlar112 11760
DozvilleKitabın96 6240
kuralsızlıkBudinki47 9870
Dozvillemüzik117 7605
DozvilleOyunlar41 2665

Vykoristovuyuchi operatörü SQL GROUP BY, cilt kategorisinde bir iftira göndermek için otrimanih, kuruşların toplamını biliyor. Saldırgan bir istek yazıyoruz (MS SQL Server'da - ön yapı USE adportal1'den;):

Kategori SEÇİN, KATEGORİLERE GÖRE REKLAM GRUPLARINDAN PARA OLARAK SUM (Para)

popo 13 Veri tabanı, ön uçtaki tablonun kendisidir.

Kötü operatör SQL GROUP BY, z'yasuvati, cilt kategorisinin bu bölümünde en fazla kusmuk dosyalandı. Saldırgan bir istek yazıyoruz (MS SQL Server'da - ön yapı USE adportal1'den;):

REKLAMLAR GRUBU'NDAN Kategoriye Göre Maksimum OLARAK Kategori, Parça, MAX (Birim) SEÇİN

Sonuç bir tablo olacaktır:

Subsumkovy ve tek bir tablodaki bireysel değerler alınabilir UNION operatörünün yardım taleplerinin sonuçlarını birleştirmek .

İlişkisel veritabanları ve SQL dili

Aritmetik operatörlerin seçimi ve sütunların numaralandırılması açıklanmıştır. Alt toplam (toplama) işlevleri COUNT, SUM, AVG, MAX, MIN dikkate alınır. GROUP BY operatörünün kullanımının veri seçim isteklerini gruplamak için kullanılacağı umulmaktadır. HAVING önermesinin durağı açıklanmıştır.

Pobudova sayılan alanlar

Katlama için vapadka'nın tepesinde sayılan (pokhіdny) alan SEÇ listesinde, SQL hareketinin doğru sürümünü belirtin. Tsikh vyslovlyuvannyah aritmetik işlemlerinde toplama, görme, çarpma ve toplama işlemlerinin yanı sıra SQL hareket işlevlerini çağırın. Tablo için herhangi bir tablonun (alan) adını belirtebilirsiniz, ancak talimatlar için FROM önermeleri listesinde gösterildiği gibi istek için tablonun adını da seçebilirsiniz. İstendiğinde virazіv katlanır yay gerekebilir.

SQL standartları, sonuç tablosundaki sütunların adlarını, özellikle de AS yan tümcesini açıkça belirtmenize olanak tanır.

Mal.Adı, Emtia.Fiyat, Favor.Quantity, Commodity.Fiyat*Favor.Miktar'ı Emtiadan Varyant OLARAK SEÇİN İÇ İÇİ Emtiadaki Favor'a Katılın. Örnek 6.1. Rozrahunok zagalnoy vartosti kozhny ї gerekçesiyle.

Örnek 6.2. Belirlenen isimlerden ve ilk müşterilerden şirketlerin listesini seçin.

SEÇ Şirket, İsim+""+ Sol(Ad,1)+"."+Sol(Baba Tarafından,1)+"."Müşteriden ПІБ OLARAK Örnek 6.2. Müşterilerin belirlenen adlarından ve baş harflerinden firmalar listesine ekleme.

Vikoristan'ın talebi üzerine, bu moddaki metinsel değişiklikte bir kötülük sembolünün görüntülenmesine izin veren Sol işlevi tanıtıldı.

Örnek 6.3. Satış tarihi ve ayındaki mal listesini kontrol edin.

Öğe.Adı, Yıl(Ürün.Tarih) Yıl, Ay(Mülk.Tarih) OLARAK Ay OLARAK SEÇİN ÖĞEDEN INNER JOIN Öge ON Item.ItemID=Yıl.ÜrünKimliği Örnek 6.3. Otrimanya, tayin edilen tarih ve satış ayından itibaren mal listesine.

Vikoristan'ın talebi üzerine, tarihin tarihini ve ayını görmek için Yıl ve Ay fonksiyonları kullanılır.

Çanta fonksiyonlarının hasır listesi

Yardım için alt torba (toplama) işlevleri SQL sorgusu çerçevesinde, çıktı kümesinin seçilen değerlerinin çarpanı hakkında bir takım spesifik istatistiksel veriler alabilirsiniz.

Koristuvachevy mevcut ve temel alt çanta fonksiyonları:

  • Count (Viraz) - SQL sorgusunun çıktı kümesindeki kayıtların sayısını görüntüler;
  • Min/Max (Viraz) - mevcut alana en az ve en kişisel olmayan değeri atayın;
  • Avg (viraz) - bu işlev, seçilen kayıtların ilk alanına kaydedilen anonim değerlerin ortalama değerini ayrıştırmanıza olanak tanır. Vono є aritmetik ortalama değerler, tobto. değerin toplamı, miktarlarının alt bölümü.
  • Sum (Viraz) - ilk alan için seçilen giriş sayısıyla aynı olan anonim değerlerin toplamını hesaplar.

Çoğu zaman, azizlerin isimleri bir viraz gibi öne çıkıyor. Viraz tablo değerlerine göre sayılabilir.

Tüm bu işlevler, tablonun tek bir sütunundaki değerlerle veya aritmetik bir görünümle çalışır ve tek bir değeri döndürür. COUNT , MIN ve MAX işlevleri hem sayısal alanlardan önce hem de sayısal olmayan alanlardan önce dururken, SUM ve AVG işlevleri küçük bir COUNT(*) ile yalnızca farklı sayısal alanlarda kazanabilir. Herhangi bir fonksiyonun sonuçlarını hesaplarken, işlemin yalnızca belirli değerlere kadar durdurulması gerekiyorsa, tüm boş değerler listeye dahil edilir, bunlar dışarıda bırakılır. COUNT(*) seçeneği, sonuç tablosundaki tüm satırlar tarafından birbirinden bağımsız olarak tanınan COUNT işlevinin özel bir çeşitlemesidir, diğer değerler olsun ya da olmasın orada boş olarak bulunur.

Belirli bir işlevi silmeden önce yinelenen değerler eklemeniz gerekiyorsa, belirli bir işlevin adlarının önüne DISTINCT anahtar sözcüğünü koyun. MIN ve MAX işlevleri için mantıklı olmayabilir, protein SUM ve AVG işlevlerinin sonuçlarını etkileyebilir ve belirli bir cilt durumunda mevcut olabileceğinden bunun daha da azaltılması gerekir. Ayrıca, DISTINCT anahtar sözcüğü herhangi bir istekte yalnızca bir defadan fazla belirtilemez.

Şunu not etmek daha da önemli alt çanta fonksiyonları SELECT teklif listesi için HAVING teklif deposundan daha fazlasını kazanabilirsiniz. Diğer durumlarda, kabul edilemez. SELECT önermesinin listesi gibi alt çanta fonksiyonları ve metin, bu grupların gruplandırılmasını sağlayan GROUP BY günlük ifadesini içerecektir, o zaman SELECT önermeleri listesine herhangi bir öğe eklemek imkansızdır. çanta fonksiyonları.

Örnek 6.4.Ürünün adı için alfabeyi belirleyin.

Üründen Min_Name OLARAK Min(Ticari isim) SEÇİN Örnek 6.4. Malları alfabeden sonra adlandırın.

Örnek 6.5.İyiliklerin sayısını belirleyin.

Count(*) OLARAK SEÇİM Örnek 6.5. İyiliklerin sayısını belirleyin.

Örnek 6.6. Satılan malların sumarnu'sunu hesaplayın.

Çiftten Miktar_ürün OLARAK Toplamı(Yer. Miktar) SEÇİN Örnek 6.6. Satılan malların sumarnoї kіlkostі atanması.

Örnek 6.7. Satılan ürünün ortalama fiyatını hesaplayın.

Ort.(Item.Price)'ı Öğeden Avg_Price OLARAK SEÇİN INNER Item.ItemId=Product.ItemId ÜZERİNDEKİ Öğeye Katılın; Örnek 6.7. Satılan malların ortalama fiyatının atanması.

Öğeden Çeşit OLARAK Toplamı(Item.Price*Perfect.Quantity) SEÇ INNER JOIN Item ON Item.ItemId=Mükemmel.ItemId Örnek 6.8. Pіdrakhunok vartosti mal sattı.

Öneri GRUP TARAFINDAN

Genellikle istek üzerine, "cilt ..." ifadesi gibi görünen ara keseler oluşturmak gerekir. Bunun için, SELECT deyiminde GROUP BY önermesi kazanır. GROUP BY durumunda isteğe grup isteği denir, parçalar verilerle gruplanır, SELECT işleminin sonucu olarak alınır ve ardından dış görünüm grubu tek bir toplam satırda oluşturulur. SQL standardı, SELECT yan tümcesi ve GROUP BY yan tümcelerinin birbiriyle yakından ilişkili olması gerektiğini önerir. GROUP BY yan tümcesinin SELECT deyimindeki varlığı için, SELECT yan tümcesindeki listenin dış görünüm öğesi, tüm grup için tek bir değerden sorumludur. Ayrıca, SELECT önermesi yalnızca aşağıdaki eleman türlerini içerebilir: alan adları, alt çanta fonksiyonları, geçersiz kılınan öğelerin kombinasyonlarını içeren bir virazi sabiti

SELECT önerme listesine yerleştirilen tüm alan adları, GROUP BY ifadesinde bulunmalıdır - eğer galip gelirlerse göz kırpmak için alt çanta işlevi. Tersi kural adil değildir - GROUP BY ifadesi, SELECT önerme listesiyle aynı olan sütun adlarına sahip olabilir.

Her zaman olduğu gibi GROUP BY, NEREDE önermesini kazanır, ilk önermeye dönüşür ve gruplama sanki bir şakayla aklı memnun etmek istercesine bu satırları takip eder.

SQL standardı, gruplandıktan sonra tüm günlük değerlerin eşit kabul edilmesini şart koşar. Aynı gruplandırılmış sütundaki iki tablo satırı, boş olmayan diğer tüm gruplama sütunlarında NULL değerler ve aynı değerler içeriyorsa, aynı gruba yerleştirilirler.

Örnek 6.9. Bir deri alıcısı tarafından yapılan alımların ortalama toplamını hesaplayın.

Client.Privacy, Ort.(Area.Amount) OLARAK Client INNER JOIN Client ON Client.ClientCode=Ortalama.ClientId GROUP BY Client. Örnek 6.9. Bir cilt alıcısı tarafından yapılan satın almaların ortalama yükümlülüğünün hesaplanması.

"Skin alıcı" ifadesi, SQL uygulamasında ifadesini önermelere bakarken buldu. Müşteriye GÖRE GRUP.Prizvische.

Örnek 6.10.Önemli bir şekilde, yak sumu bulo, deri adının mallarını sattı.

Öğe.Adı, Toplam(Öğe.Fiyat*Ürün.Miktar) SEÇİN Öğeden Çeşit OLARAK INNER JOIN Öğe ON Item.ItemID=Product.ItemID GROUP BY Item.Name BY Örnek 6.10. Randevu, yak sumu Bulo adı verilen deri malları sattı.

Client.Company, Count(Party.PartyCode) AS Count_Parts SEÇİN Client.Company'den Client.ClientCode=Party.ClientID GROUP BY Client.Company'den INNER JOIN Ayrıcalığı Örnek 6.11. Pіdrahunok, ugod, zdіysnenih cilt firmasıdır.

Müşteri.Company, Global_Quality OLARAK Sum(Customer.Quantity), Commodity INNER JOIN'DEN Varyant Olarak Sum(Item.Price*City.Quantity) SEÇİN (Customer INNER JOIN Müşteri ON Customer.CustomerCode=Erişim.CustomerCode.Code) G. Firma Örnek 6.12. Pіdrahunok zagalnoї kіlkostі deri ve malları ta її vartostі satın aldı.

Örnek 6.13. Bir deri ürünün bir aylık sumarnu çeşidini hesaplayın.

Öğe.Adı, Ay(Mülk.Tarih) Ay OLARAK SEÇİN, Toplam(Ürün.Fiyat*Özellik.Miktar) Çeşit OLARAK Öğeden INNER JOIN Öğe ON Item.ProductID=Property.ProductID GROUP BY Öğe.Ad, Ay(Mülk.Tarih) ) )) Örnek 6.13. Deri eşyaların sumarnoї vartostі'sının atanması deri mіsyats'tır.

Örnek 6.14. Deri mіsyats için ilk ґatunka'nın deri eşyalarının sumarnu çeşidini takdir edin.

Öğe.Adı, Ay(Ürün.Tarih) Ay OLARAK SEÇİN, Toplam(Ürün.Fiyat*Özellik. Miktar) Çeşit OLARAK Öğeden INNER JOIN Öğe ÜZERİNDEN Öğe. . İsim, Ay (Zevk. Tarih) Örnek 6.14. Deri mіsyats için ilk ґatunku'nun deri eşyalarının sumarnoї vartostі atanması.

önerme

HAVING'in yardımı için, tüm veri blokları, HAVING'in zihnini memnun eden GROUP BY yardımının önünde gösterilir. Tse dodatkova mozhlivist "profiltruvati" vihіdniy nabіr.

YIKAMA NEREDE Vіdrіznyayutsya'dadır:

  • HAVING, veri gruplarının sonuç kümesinden toplama değerlerinin sonuçlarından hariç tutar;
  • NEREDE, zihni tatmin etmeyen kayıtları gruplamak için toplam değerlerin bir araya getirilmesini içerir;
  • NEREDE şakanın aklı için toplu işlevleri ayarlayamazsınız.

Örnek 6.15. Belirlenen firmalar, bazılarında iyilik sayısı üçten fazla.

Müşteri.Company, Count(Area.Quantity) OLARAK SEÇİN Müşteri İÇ KATILMA Hesabından Müşteri. Örnek 6.15. Firmaların atanması, yakі mayut zagalnu, iyiliklerin üçünden daha ağır basıyor.

Örnek 6.16. 10.000 kr üzerinde toplam satılan malların bir listesini girin.

Ürün.Adı, Toplamı(Ürün.Fiyat*Erişim.Kalite) Çeşit OLARAK SEÇİN Ürün İÇİ KATILIM ÖZELLİĞİ ÜZERİNDE Ürün.Item.Code=Erişim.ÖğeId GRUBU Ürün.Adı OLAN Toplam(Ürün.Fiyat*Erişim.Kalite)>1000 Örnek 6.16. 10.000 krb üzerinde toplam satılan malların Visnovok transferi.

Örnek 6.17. Toplamda 10.000'in üzerinde perakende fiyatıyla satılan malların bir listesini girin.

Ürün.Adı SEÇİN ÜRÜN İÇİ Favour ÜZERİNE KATIL Product.ProductCode=Product.ProductID GRUBUNA GÖRE Ürün.Adı OLAN Toplam(Ürün.Fiyat*Favor.Miktar)>10000 Örnek 6.17. Toplamı olmayan 10.000'in üzerinde satılan malların listesini görüntüleme.

Baş asistanınıza nasıl kazanacağınızı biliyorsunuz TOPLA işlevi sözdizimi ve uygulamalarla SQL Server'da (Transact-SQL).

Tanım

SQL Server'da (Transact-SQL) TOPLA işlevi virazunun toplam anlamını çevirin.

Sözdizimi

SQL Server'daki (Transact-SQL) SUM işlevinin sözdizimi şöyledir:

Adımların bir veya daha fazla çıkartması için sonuçları gruplarken SUM işlevinin ABO sözdizimi:

Parametreler chi argümanları

ifade1 , ifade2 , … ifade_n TOPLA işlevinden önce dahil edilmezler, ancak SQL teklifinin sonunda GROUP BY operatöründen önce dahil edilirler.
agrega_ifadesi - özetlenecek olan ce stovpets veya viraz.
tablolar - kayıt alınması gereken tablolar. En az bir tablo suçlanacak, FROM ifadesinde yeniden ele geçirildi.
NEREDE koşulları - viskoz olmayan. Tse yıkama, seçilen kayıtlar için nasıl izlenir.

Zastosuvannya

SUM işlevi, SQL Server'ın (Transact-SQL) gelecekteki sürümlerinde yer alabilir:
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

Bir alandan örnek

SQL Server'da (Transact-SQL) SUM işlevinin nasıl kullanılacağını anlamak için SQL Server SUM işlevinin nasıl uygulanacağına bir göz atalım.

Örneğin, sayısı 10'dan fazla olan tüm ürünlerin sayısının ne kadar yaygın olduğunu öğrenebilirsiniz.

SUM işlevinin ve SUM (miktar) virüsazının bu uygulaması için, "Toplam Miktar" takma adı eklenmiştir. Sonuç seti döndürüldüğünde, alan adı olarak “Toplam Miktar” görünecektir.

popo FARKLI

SUM işlevinin DISTINCT ifadesini bükebilirsiniz. Örneğin, SQL deyiminin altında gezinmek, toplam maaş tutarını benzersiz maaş değerleriyle döndürür ve maaşı rev başına 29.000$'ın altına düşürür.

Yakby iki maaş 24.000 dolar oldu. Öte yandan, SUM fonksiyonları bu değerlerden sadece birini kazandı.

vikoristanny formülü popo

SUM fonksiyonunun yanında bulunan Viraz, tek bir alanla sınırlandırılamaz. Formülü de değiştirebilirsiniz. Örneğin, ortak bir komisyon ödeyebilirsiniz.

SQL'de işlem yap

SİPARİŞLERDEN "Toplam Komisyon" OLARAK SUM(satışlar * 0.03) SEÇİN;

"Toplam Komisyon" OLARAK SUM (satışlar * 0.03) SEÇİN

siparişlerden;

Vico stok buttstock GRUP TARAFINDAN

Bazı durumlarda GROUP BY operatörünü SUM işleviyle kazanmak gerekir.

SQL-filmindeki SUM işlevi, basitliğinden bağımsız olarak, bir veritabanıyla çalışırken genellikle yanıltıcıdır. DBMS'nin ek araçlarının yardımına başvurmadan bazı ara veya ara sonuçları manuel olarak almanıza yardımcı olmak için.

İşlev sözdizimi

Çoğu SQL için, sum'un sözdizimi aynıdır - bir argüman olarak, yalnızca alanların adları galip gelir veya deac, toplamanın gerekli olduğu bir dizi için aritmetiktir.

Vinyatkovyh vipadkah'ta, değişiklik sayısı açısından belirli bir anlam ifade etmek mümkündür, benzer "şemalar" pratikte vikoristovuyutsya değildir, çünkü kendi başlarına büyük bir değer taşımazlar. SQL'imdeki işlevin sözdizimi aşağıdadır:

toplam (a) - burada parametre olarak

Varto, anahtar kelimelerin parametreden önce eklenebileceğini, örneğin DISTINCT veya ALL, bu nedenle yalnızca benzersiz veya tüm değerlerin alınacağını belirtir.

SQL'de SUM hack popo

İş ve işlev ilkesinin kalıcı bir şekilde anlaşılması için, bir dizi uygulamaya bakmalıyız. Sonuç döndürüldüğünde SQL SUM tersine çevrilebilir, bu nedenle örneğin zihni yeniden kontrol etmek için bir ara değer rolünde.

İlk kez, deri ürün vrahovyuchi'deki satış miktarını çevirmek gerekirse, satın alma sayısını çoğaltmak için seçeneğe bakabiliriz. Otrimannya için sonuç yeterli vikonati saldırgan istek:

Öğe SEÇ, toplam(Satın Alma Tutarı) Satış Grubundan Öğeye Göre;

Ekibe bağlı olarak, cilt ürünleri için satın alma toplamı olan benzersiz bir ürün listesi olacaktır.

Başka bir popo için, satış miktarı deak değerini aşan malların bir listesini almak gerekir, örneğin 100. Bu görevin sonucunu dek_lcoma'da hepsinden en uygun şekilde alabilirsiniz. onlardan:

Ürün SEÇİN (Ürün SEÇ, toplam(Satın Alma Tutarı) Satışlardan Toplam olarak) Toplam > 100.

İş ortağınız tarafından piyasaya sürülen bilgisayar modellerinin sayısını nasıl anlarsınız? Bir bilgisayarda ortalama değer nasıl hesaplanır, aynı teknik özellikleri nasıl bulabilirsiniz? Gerçek istatistiksel bilgilerle ilgili sayı ve diğer beslenme bazında, yardım için tavsiye alabilirsiniz. alt torba (toplama) işlevleri. Standart, aşağıdaki toplu işlevleri aktarır:

Tüm işlevler aynı değeri döndürür. hangi işlevle SAYI, MINі MAKS o saatte herhangi bir veri türünden önce zastosovnі TOPLAі ortalama sayısal alanlar için daha az vikoristovuyutsya. Fonksiyonlar arasında artıklık SAYMAK(*)і SAYMAK(<имя поля>) Bir ibnenin arkasındaki bir arkadaşın NULL değerinden vazgeçmediğine inanıyorum.

popo Kişisel bir bilgisayar için minimum ve maksimum fiyatı öğrenin:

popo A yazısı tarafından verilen gerçek bilgisayar sayısını öğrenin:

popo A tipine göre sıralanan farklı modellerin sayısının saldırgan bir sıralama olarak formüle edilebileceğini nasıl söyleyebiliriz (bu gerçeğe göre, cilt modeli Ürün tablosuna bir kez kaydedilir):

popo A seçim aracı tarafından izin verilen mevcut farklı modellerin sayısını bilmek.Sayı öndekine benzer, bu durumda A seçim aracı tarafından izin verilen toplam model sayısını belirtmek gerekir.

İstatistiksel göstergelerin seçiminin yalnızca benzersiz değerler kazanması için, toplama işlevi argümanları vicorist olabilirsin DISTINCT parametresi. İkinci parametre TÜMÜ umovchannyam için vikoristovuєtsya ve sütunda dönen tüm anlamların aptallarını iletmek. Şebeke,

PC modellerinin sayısını nasıl hesaba katmamız gerekiyor, viroblenih deri virobnik, o zaman vikoristovuvat gerekir GROUP BY, sözdizimsel olarak saldırgan NEREDE önermeler.

Öneri GRUP TARAFINDAN

Öneri GRUP TARAFINDAN vikoristovuetsya vyznachennya, zastosovuvatisya olabilen vihіdny satır grupları toplama işlevleri (COUNT, MIN, MAX, AVG ve SUM). Günün bir önerisi ve muzaffer toplama işlevleri olarak, isimlerle birlikte tüm adımlar tahmin edildi. SEÇME dahil edilmesi nedeniyle toplu işlevler, ve işlevler, isteğin yüklemi ile eşleşiyormuş gibi, tüm satır kümesine zastosovuvatysya olacaktır. Başka bir şekilde, SELECT listesinin tüm sütunları, girmedi toplama işlevinde belirtilmelidir GROUP BY. Bu nedenle, tüm satırlar, bu sütunlarda aynı değer kombinasyonlarıyla karakterize edilen gruplara ayrılır. Oradan cilt grubuna, toplu işlevler engellenecektir. GROUP BY içinde tüm NULL değerlerinin eşit olarak kabul edildiğini unutmayın. NULL değerleri içermesi gereken alanları gruplarken, bu tür tüm satırlar aynı gruba düşecektir.
Yakscho açık önermeler için GROUP BY, SELECT ifadesinde günlük toplama işlevleri, sonra dış görünüm grubundan sadece bir sıra çevirin. Bu olasılık, DISTINCT anahtar sözcüğünün sırası, sonuç kümesinden yinelenen satırları hariç tutmak için seçilebilir.
Basit bir örneğe bakalım:
Model SEÇ, COUNT(model) Qty_model olarak, AVG(fiyat) Ort_fiyat olarak
PC'DEN
modele GÖRE GRUP;

PC'nin cilt modeli için hangi talepte, miktar ve ortalama kalite belirtilir. Aynı model (model numarası) değerlerine sahip satırlar grubu niteler ve SELECT çıktısında değer sayısı ve skin grubu için ortalama değer hesaplanır. Yazmanın sonucu bir tablo ile karşınıza çıkacaktır:
model adet_model Ort_fiyat
1121 3 850.0
1232 4 425.0
1233 3 843.33333333333337
1260 1 350.0

Yakby, SELECT literal stovpets z tarihinde, belirli bir cilt tarihinin göstergelerinin sayısını saymak mümkün olacaktır. Bunun için bir gruplama olarak tarihi eklemek gerekli ve hatta cilt kombinasyon değeri (model-tarih) için toplam fonksiyonlar hesaplandı.

şarkıcıların Іsnuє çaçası Toplama işlevlerini kazanma kuralları:

  • Sonuç olarak aynı satırda alınmadı(veya her grup için bir satır), ardından günlük toplam işlevlerden olsun, hesaplama için çıktı verileri. Bu durumda, sayım işlevlerinin sonucu sıfır, diğer tüm işlevlerin sonucu NULL olacaktır.
  • Argüman toplama işlevi toplama işlevlerini kendiniz tanımlayamazsınız(fonksiyon içinde fonksiyon). Tobto. bir içkide, diyelim ki, maksimum ortalama değerlere ulaşmak mümkün değildir.
  • COUNT є yazma fonksiyonunun sonucu bütün sayı(INTEGER) Diğer toplama işlevleri, işlenmekte olan veri türünü azaltır.
  • Aynı şekilde, SUM işlevi ile sonuç çıkarılır, bu da veri türünün maksimum değerini kaydırır, kazanır, suçlar. Pardon.

Baba, senden intikam almamanı istiyorum. GROUP BY, o zamanlar toplu işlevler, dahil önermeyi SEÇ; İntikam nasıl istenir GROUP BY, bir sütunun veya bir sütun grubunun aynı değeri olabilen dış görünüm yazarak satırlar, görevler için GROUP BY, bir grup ol, ki toplu işlevler vykonuyutsya cilt grubu okremo.

önerme

Yakscho WHERE yan tümcesi satırları filtrelemek için bir yüklem tanımlar, ardından önerme durgun gruplamadan sonra grupları değerler için filtreleyen bir yüklem benzeri bir atama için toplu işlevler. Bu önerme, yardım için götürüldüğü için anlamın yeniden doğrulanması için gereklidir. toplama işlevi birkaç satırlık kayıt değil, oturum açıldı kelimeler, a bu tür satırlardan oluşan bir grup. Bu nedenle, böyle bir yeniden doğrulama yapılamaz. NEREDE.

© 2022 androidas.ru - Android hakkında her şey