Sql-da hisob-kitoblar. Sql da sum funksiyasi: sum ms sql sum misollari


Download 219.26 Kb.
bet1/3
Sana20.12.2022
Hajmi219.26 Kb.
#1039065
  1   2   3
Bog'liq
SQL


SQL-DA HISOB-KITOBLAR. SQL DA SUM FUNKSIYASI: SUM MS SQL SUM MISOLLARI
SQL - 11-dars. Xulosa funksiyalar, hisoblangan ustunlar va ko'rinishlar
Yakuniy funktsiyalar statistik, yig'ish yoki yig'ish deb ham ataladi. Bu funksiyalar bitta qiymatni sanash va qaytarish uchun qatorlar to‘plamini qayta ishlaydi. Bunday beshta funktsiya mavjud:

  • AVG() Funktsiya ustunning o'rtacha qiymatini qaytaradi.



  • COUNT() Funktsiya ustundagi qatorlar sonini qaytaradi.



  • MAX() funksiya ustundagi eng katta qiymatni qaytaradi.



  • MIN() Funktsiya ustundagi eng kichik qiymatni qaytaradi.



  • SUM() funksiya ustun qiymatlari yig‘indisini qaytaradi.

Ulardan biri - COUNT() - biz allaqachon 8-darsda uchrashganmiz. Endi qolganlari bilan tanishamiz. Faraz qilaylik, biz do'konimizdagi kitoblarning minimal, maksimal va o'rtacha narxini bilmoqchi edik. Keyin Narxlar (narxlar) jadvalidan narx ustuni uchun minimal, maksimal va o'rtacha qiymatlarni olishingiz kerak. So'rov oddiy:


Narxlardan MIN(narx), MAX(narx), AVG(narx) ni tanlang;

Endi biz “Bosmaxona” yetkazib beruvchisi (id=2) bizga tovarni qanchaga olib kelganini bilmoqchimiz. Bunday so'rovni amalga oshirish oson emas. Keling, buni qanday qilishni o'ylab ko'raylik:
1. Birinchidan, yetkazib berish (kirish) jadvalidan “Bosmaxona” yetkazib beruvchisi (id=2) tomonidan amalga oshirilgan yetkazib berish identifikatorlarini (id_incoming) tanlashingiz kerak:

2. Endi, Supply Journal (jurnal_incoming) jadvalidan siz 1-bandda keltirilgan etkazib berishda amalga oshirilgan tovarlarni (id_mahsulot) va ularning miqdorini (miqdorini) tanlashingiz kerak. Ya'ni, 1-banddagi so'rov ichki joylashadi:

3. Endi hosil bo'lgan jadvalga Narxlar jadvalida saqlanadigan topilgan tovarlarning narxlarini qo'shishimiz kerak. Ya'ni, biz id_mahsulot ustuni bo'yicha Ta'minot jurnali (magazine_incoming) va Narxlar (narxlar) jadvallariga qo'shilishimiz kerak:

4. Olingan jadvalda Sum ustuni aniq yo'q, ya'ni hisoblangan ustun. Bunday ustunlarni yaratish imkoniyati MySQL da taqdim etilgan. Buni amalga oshirish uchun siz so'rovda hisoblangan ustunning nomini va nimani hisoblashi kerakligini ko'rsatishingiz kerak. Bizning misolimizda bunday ustun summa deb nomlanadi va u miqdor va narx ustunlari mahsulotini hisoblab chiqadi. Yangi ustun nomi AS so'zi bilan ajratilgan:
Magazin_incoming.id_mahsuloti, jurnali_kiruvchi.miqdori, narxlar.narxi, jurnal_kirim.miqdori*narxlar.narxini TANGLASH JURNALI_KURILGAN, narxlar QAYERDA jurnali_incoming.id_mahsulot= narxlar.id_mahsulot VA id_incoming_coming=FROQISH VA SELECT_incoming=iddor2);

5. Ajoyib, biz uchun qolgan narsa - bu yig'ma ustunni sarhisob qilish va nihoyat, etkazib beruvchi "Bosmaxona" bizga molni qanchaga olib kelganini aniqlashdir. SUM() funksiyasidan foydalanish sintaksisi quyidagicha:
jadval_nomidan SUM(ustun_nomi) ni tanlang;
Biz ustun nomini bilamiz - summa, lekin bizda jadval nomi yo'q, chunki u so'rov natijasidir. Nima qilsa bo'ladi? Bunday holatlar uchun MySQL-da Views mavjud. Ko'rinish - bu o'ziga xos nomga ega bo'lgan va keyinchalik foydalanish uchun ma'lumotlar bazasida saqlanishi mumkin bo'lgan tanlangan so'rovdir.
Ko'rinish yaratish sintaksisi quyidagicha:
CREATE VIEW view_name so'rovi AS;
Keling, so'rovimizni report_vendor nomli ko'rinish sifatida saqlaymiz:
Hisobot_vendorni magazin_incoming.id_product, magazine_incoming.miqdori, narxlar.price, magazin_incoming.miqdori*prices.price ASKI KOʻRISH YARATING. );
6. Endi siz yakuniy SUM() funksiyasidan foydalanishingiz mumkin:
report_vendor FROM SUM(summa) ni tanlang;

Bu erda biz natijaga erishdik, garchi buning uchun biz ichki so'rovlar, birlashmalar, hisoblangan ustunlar va ko'rinishlardan foydalanishimiz kerak edi. Ha, ba'zida natijaga erishish uchun o'ylash kerak, usiz hech qaerga keta olmaysiz. Ammo biz ikkita juda muhim mavzuga to'xtaldik - hisoblangan ustunlar va ko'rinishlar. Keling, ular haqida batafsilroq gaplashaylik.
HISOBLANGAN MAYDONLAR (USTUNLAR)
Misol tariqasida, biz bugun matematik hisoblangan maydonni ko'rib chiqdik. Bu erda shuni qo'shimcha qilmoqchimanki, siz nafaqat ko'paytirish (*), balki ayirish (-) va qo'shish (+) va bo'lish (/) dan ham foydalanishingiz mumkin. Sintaksis quyidagicha:
1-rang_nomi, qator_nomi_2, qator_nomi_1*col_name_2 AS hisoblangan_ustun_nomini jadval_nomidan TANlang;
Ikkinchi nuance - AS kalit so'zi, biz hisoblangan ustun nomini belgilash uchun foydalandik. Aslida, bu kalit so'z har qanday ustunlar uchun taxalluslarni o'rnatadi. Bu nima uchun kerak? Kodni qisqartirish va o'qish uchun. Masalan, bizning fikrimiz quyidagicha ko'rinishi mumkin:
A.id_mahsuloti, A.miqdori, B.narxi, A.miqdori*B.narx ASJA jurnali_kirish A AS, narxlar B QAYERDA A.id_mahsulot= B.id_mahsulot VA id_incoming= (Kirish id_mahsuloti FROM NI SELECT TANILADI) hisobot_vendorni KOʻRISH YARATING WHERE id_vendor=2);
Bu ancha qisqaroq va aniqroq ekanligiga rozi bo'ling.
VAKILLIK
Biz allaqachon ko'rinishlarni yaratish sintaksisini ko'rib chiqdik. Ko'rinishlar yaratilgandan so'ng, ular xuddi jadvallar kabi ishlatilishi mumkin. Ya'ni, ular bo'yicha so'rovlarni bajarish, ma'lumotlarni filtrlash va saralash, bir ko'rinishni boshqasi bilan birlashtirish. Bir tomondan, bu tez-tez ishlatiladigan murakkab so'rovlarni saqlashning juda qulay usuli (bizning misolimizda bo'lgani kabi).
Ammo shuni esda tutish kerakki, ko'rinishlar jadvallar emas, ya'ni ular ma'lumotlarni saqlamaydi, balki ularni faqat boshqa jadvallardan oladi. Demak, birinchidan, jadvallardagi ma'lumotlarni o'zgartirganda, taqdimot natijalari ham o'zgaradi. Ikkinchidan, ko'rinish so'ralganda, kerakli ma'lumotlar qidiriladi, ya'ni ma'lumotlar bazasining ishlashi pasayadi. Shuning uchun ularni suiiste'mol qilmaslik kerak.
Ushbu qo'llanmada siz qanday foydalanishni o'rganasiz SUM funksiyasi SQL Serverda (Transact-SQL) sintaksis va misollar bilan.
TAVSIF
SQL Serverda (Transact-SQL) SUM funksiyasi ifodaning umumiy qiymatini qaytaradi.
SINTAKSIS
SQL Server (Transact-SQL) da SUM funksiyasi sintaksisi:
Yoki natijalarni bir yoki bir nechta ustunlar bo'yicha guruhlashda SUM funktsiyasi sintaksisi:
VARIANTLAR YOKI ARGUMENTLAR
ifoda1 , ifoda2 , ... ifoda_n - SUM funksiyasiga kiritilmagan va SQL bayonotining oxiridagi GROUP BY bandiga kiritilishi kerak bo'lgan ifodalar.
aggregate_expression - jamlanadigan ustun yoki ifoda.
jadvallar - yozuvlarni olmoqchi bo'lgan jadvallar. FROM bandida kamida bitta jadval bo'lishi kerak.
WHERE shartlari - ixtiyoriy. Bu tanlangan yozuvlar uchun bajarilishi kerak bo'lgan shartlardir.
ILOVA
SUM funksiyasidan SQL Server (Transact-SQL) ning quyidagi versiyalarida foydalanish mumkin:
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
YAGONA MAYDON MISOLI
SQL Server (Transact-SQL) da SUM funksiyasidan qanday foydalanishni tushunish uchun SQL Server SUM funksiyasidan ba'zi misollarni ko'rib chiqamiz.
Masalan, soni 10 dan ortiq bo'lgan barcha mahsulotlarning umumiy soni qanday ekanligini bilib olishingiz mumkin.
Ushbu SUM funksiyasi misolida biz SUM(miqdor) ifodasini “Jami miqdor” deb nomladik. Natijalar to'plamini qaytarishda - maydon nomi sifatida "Jami miqdor" ko'rsatiladi.
DISTINCT MISOL
SUM funksiyasida DISTINCT ifodasidan foydalanishingiz mumkin. Misol uchun, quyidagi SQL bayonoti ish haqi yiliga 29 000 dollardan kam bo'lgan yagona ish haqi qiymatlari bilan umumiy ish haqini qaytaradi.
Agar ikkita ish haqi yiliga 24 000 dollar bo'lsa, SUM funktsiyasida ushbu qiymatlardan faqat bittasi qo'llaniladi.
FORMULAGA MISOL
SUM funksiyasidagi ifoda bitta maydon bo'lishi shart emas. Siz formuladan ham foydalanishingiz mumkin. Misol uchun, siz umumiy komissiyani hisoblashingiz mumkin.
Transact SQL
Buyurtmalardan "Jami komissiya" sifatida SO'MNI (sotish * 0,03) TANLASH;




SUM (sotish * 0,03) "Jami komissiya" sifatida tanlang
Buyurtmalardan;

GROUP BY MISOL
Ba'zi hollarda siz GROUP BY bandini SUM funktsiyasi bilan ishlatishingiz kerak bo'ladi.
SQL-dagi SUM funksiyasi, soddaligiga qaramay, ma'lumotlar bazasi bilan ishlashda juda tez-tez ishlatiladi. Uning yordami bilan DBMSning yordamchi vositalariga murojaat qilmasdan ba'zi bir oraliq yoki yakuniy natijalarni olish qulay.
FUNKTSIYA SINTAKSISI
Aksariyat tillarda SQL sintaksisi yig'indisi bir xil - argument sifatida faqat maydon nomi yoki ulardan bir nechtasining ba'zi arifmetik amallari qo'llaniladi, buning ustiga yig'indi talab qilinadi.
Istisno holatlarda siz ma'lum bir qiymatni raqam yoki o'zgaruvchi ko'rinishida berishingiz mumkin, ammo bunday "sxemalar" deyarli qo'llanilmaydi, chunki ular katta qiymatga ega emas. Quyida SQL tilidagi funksiya sintaksisi keltirilgan:

Download 219.26 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling