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


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

sum(a) - bu yerda a parametr sifatida qandaydir raqamli qiymat yoki ifoda ishlatiladi
Shuni ta'kidlash kerakki, siz parametrdan oldin kalit so'zlarni o'rnatishingiz mumkin, masalan, DISTINCT yoki ALL, ular mos ravishda faqat yagona yoki barcha qiymatlarni oladi.
SQL DA SUM DAN FOYDALANISHGA MISOL
Funktsiya qanday ishlashini yakuniy tushunish uchun bir nechta misollarni ko'rib chiqishga arziydi. SQLda SUM ham qaytish natijasi, ham oraliq qiymat sifatida, masalan, shartni tekshirish uchun ishlatilishi mumkin.
Birinchi holda, xaridlar soni ko'plikda bo'lishi mumkinligini hisobga olsak, har bir mahsulot uchun sotish miqdorini qaytarishni xohlagan variantni ko'rib chiqing. Natijani olish uchun quyidagi so'rovni bajarish kifoya qiladi:
Savdolar guruhidan mahsulot, summa (sotib olish summasi) ni tanlang;
Ushbu buyruqqa javob, ularning har biri uchun xaridlarning umumiy miqdori bo'lgan mahsulotlarning noyob ro'yxati bo'ladi.

Ikkinchi misol uchun, sotish miqdori ma'lum bir qiymatdan oshib ketgan mahsulotlar ro'yxatini olishingiz kerak, masalan, 100. Ushbu vazifani bajarish uchun natijani olishning bir necha yo'li mavjud, ulardan eng maqbuli bajarilishidir. bitta so'rov:
Elementni TANLASH (Tanlash ob'ekti, summa (sotib olish summasi) sotuvdan yig'indisi sifatida) QERDA Sum > 100.
Keling, xulosa qilishni o'rganamiz. Yo'q, bu SQLni o'rganish natijalari emas, balki ma'lumotlar bazasi jadvallari ustunlari qiymatlari natijalari. Agregat SQL funktsiyalari bitta natija qiymatini ishlab chiqarish uchun ustun qiymatlari ustida ishlang. Eng ko'p ishlatiladigan SQL agregat funktsiyalari: SUM, MIN, MAX, AVG va COUNT. Agregat funktsiyalardan foydalanish kerak bo'lgan ikkita holat mavjud. Birinchidan, agregat funktsiyalar o'zlari tomonidan ishlatiladi va bitta natija qiymatini qaytaradi. Ikkinchidan, agregat funktsiyalar SQL GROUP BY bandi bilan, ya'ni har bir guruhda olingan qiymatlarni olish uchun maydonlar (ustunlar) bo'yicha guruhlash bilan ishlatiladi. Avval guruhlashsiz agregat funktsiyalardan foydalanish holatlarini ko'rib chiqing.
SQL SUM FUNKSIYASI
SQL SUM funktsiyasi ma'lumotlar bazasi jadvalidagi ustun qiymatlari yig'indisini qaytaradi. U faqat qiymatlari raqamlar bo'lgan ustunlarga qo'llanilishi mumkin. SQL so'rovlari olingan summani olish uchun quyidagicha boshlang:
SUM (USTUN NOMI) NI TANGLASH...
Bu iboradan keyin FROM (TABLE_NAME) keladi va keyin shartni WHERE bandi yordamida belgilash mumkin. Bundan tashqari, DISTINCT faqat noyob qiymatlar hisobga olinishini bildirish uchun ustun nomiga prefiks qo'shilishi mumkin. Odatiy bo'lib, barcha qiymatlar hisobga olinadi (buning uchun siz DISTINCT emas, balki HAMMAsini belgilashingiz mumkin, lekin ALL so'zi ixtiyoriy).
Agar siz ushbu darsdan ma'lumotlar bazasi so'rovlarini MS SQL Serverda ishga tushirmoqchi bo'lsangiz, lekin bu DBMS sizning kompyuteringizda o'rnatilmagan bo'lsa, uni ushbu havoladagi ko'rsatmalardan foydalanib o'rnatishingiz mumkin. .
Birinchidan, biz kompaniyaning ma'lumotlar bazasi bilan ishlaymiz - Company1. Ushbu ma'lumotlar bazasini, uning jadvallarini yaratish va jadvallarni ma'lumotlar bilan to'ldirish uchun skript ushbu havoladagi faylda joylashgan .
1-misol Kompaniyaning bo'limlari va xodimlari to'g'risidagi ma'lumotlardan iborat ma'lumotlar bazasi mavjud. Xodimlar jadvalida shuningdek, xodimlarning ish haqi ma'lumotlari ko'rsatilgan ustun mavjud. Jadvaldagi tanlov quyidagi shaklga ega (rasmni kattalashtirish uchun sichqonchaning chap tugmasi bilan bosing):
Barcha ish haqi summasini olish uchun biz quyidagi so'rovdan foydalanamiz (MS SQL Serverda - USE company1 prefiksi bilan;):
Xodimlardan SUM (ish haqi) TANLASH
Ushbu so'rov 287664.63 qiymatini qaytaradi.
Endi esa . Mashqlarda biz allaqachon vazifalarni murakkablashtira boshlaymiz, ularni amalda duch keladigan narsalarga yaqinlashtiramiz.
SQL MIN FUNKSIYASI
SQL MIN funktsiyasi, shuningdek, qiymatlari raqamlar bo'lgan ustunlarda ishlaydi va ustundagi barcha qiymatlarning minimalini qaytaradi. Bu funksiya SUM funksiyasiga o'xshash sintaksisga ega.
3-misol Ma'lumotlar bazasi va jadval 1-misoldagi kabi.
Minimalni bilishingiz kerak ish haqi 42-bo'lim xodimlari. Buning uchun quyidagi so'rovni yozing (MS SQL Serverda - USE company1 prefiksi bilan;):
So'rov 10505.90 qiymatini qaytaradi.
Va yana o'z taqdirini hal qilish uchun mashq qilish. Ushbu va boshqa ba'zi mashqlarda sizga nafaqat Xodimlar jadvali, balki kompaniya bo'linmalari to'g'risidagi ma'lumotlarni o'z ichiga olgan tashkilot jadvali ham kerak bo'ladi:


4-misol Tashkilotlar jadvali kompaniyaning bo'linmalari to'g'risidagi ma'lumotlarni o'z ichiga olgan Xodimlar jadvaliga qo'shiladi. Bostonda joylashgan bo'limda bitta xodim ishlagan minimal yillar sonini ko'rsating.
SQL MAX FUNKTSIYASI
SQL MAX funktsiyasi shunga o'xshash ishlaydi va bir xil sintaksisga ega, bu ustunning barcha qiymatlari orasida maksimal qiymatni aniqlashni xohlaganingizda ishlatiladi.
5-misol
42-sonli bo'lim xodimlarining ish haqining maksimal miqdorini aniqlash talab etiladi. Buning uchun quyidagi so'rovni yozamiz (MS SQL Serverda - USE company1 prefiksi bilan;):
So'rov 18352.80 qiymatini qaytaradi
Vaqti keldi o'z taqdirini hal qilish uchun mashqlar.
6-misol Biz yana ikkita jadval bilan ishlayapmiz - Xodimlar va Org. Sharqiy bo'limlar (bo'lim) guruhiga kiruvchi bo'limda bitta xodim tomonidan qabul qilingan komissiyalarning maksimal miqdori bo'lim nomini ko'rsating. Foydalanish JOIN (jadvallarga qo'shilish) .
SQL AVG FUNKTSIYASI
Oldingi tavsiflangan funksiyalar sintaksisi haqida aytilganlar SQL AVG funksiyasiga ham to'g'ri keladi. Ushbu funktsiya ustundagi barcha qiymatlarning o'rtacha qiymatini qaytaradi.
7-misol Ma'lumotlar bazasi va jadval oldingi misollardagi kabi.
42-sonli bo'lim xodimlarining o'rtacha ish stajini aniqlash talab qilinsin. Buning uchun quyidagi so'rovni yozamiz (MS SQL Serverda - USE company1 prefiksi bilan;):
Natijada 6,33 bo'ladi
8-misol Biz bitta stol bilan ishlaymiz - Xodimlar. 4 yildan 6 yilgacha bo'lgan tajribaga ega xodimlarning o'rtacha ish haqini ko'rsating.
SQL COUNT FUNKTSIYASI
SQL COUNT funktsiyasi ma'lumotlar bazasi jadvalidagi yozuvlar sonini qaytaradi. Agar siz so'rovda SELECT COUNT(COLUMNAME) ... ni belgilasangiz, natijada ustun qiymati NULL (aniqlanmagan) bo'lgan yozuvlar hisobga olinmagan yozuvlar soni bo'ladi. Argument sifatida yulduzchadan foydalansangiz va SELECT COUNT(*) ... so‘rovini boshlasangiz, natija jadvaldagi barcha yozuvlar (qatorlar) soni bo‘ladi.
9-misol Ma'lumotlar bazasi va jadval oldingi misollardagi kabi.
Siz komissiya oladigan barcha xodimlar sonini bilmoqchisiz. Comm ustuni qiymatlari NULL bo'lmagan xodimlar soni quyidagi so'rovni qaytaradi (MS SQL Serverda - USE kompaniyasi1 bilan; oldindan tayyorlanayotgan konstruktsiya):
Xodimlardan COUNT (Comm) TANLANING
Natijada 11 qiymati bo'ladi.

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