Guruhlash
Agregat funktsiyalari
Agregat funktsiyalari qatorlar to'plamidagi qiymatlar bo'yicha hisob-kitoblarni amalga oshiradi. T-SQL quyidagi agregat funktsiyalarni ta'minlaydi:
AVG: o'rtachani topadi
SUM: qiymatlar yig'indisini topadi
MIN: eng kichik qiymatni topadi
MAX: eng katta qiymatni topadi
COUNT: so‘rovdagi qatorlar sonini topadi
Argument sifatida barcha agregat funktsiyalar qiymatlarni aniqlash mezonini ifodalovchi ifodani oladi. Ko'pincha, ifoda ustunning nomi bo'lib, uning qiymatlari ustidan hisob-kitoblarni amalga oshirish kerak bo'ladi.
AVG va SUM funksiyalaridagi ifodalar raqamli qiymatni ifodalashi kerak. MIN, MAX va COUNT funksiyalaridagi ifoda son yoki satr qiymatini yoki sanani ifodalashi mumkin.
COUNT(*) dan tashqari barcha jamlangan funksiyalar NULL qiymatlarni e'tiborsiz qoldiradi.
Oʻrtacha
Avg funktsiyasi jadval ustunlari qiymatlari oralig'idagi o'rtacha qiymatni qaytaradi.
Aytaylik, bizda ma'lumotlar bazasida quyidagi iboralar bilan tavsiflangan Mahsulotlar jadvali mavjud:
Ma’lumotlar bazasidan tovarlarning o‘rtacha narxini topamiz:
O'rtacha qiymatni topish uchun Narx ustuni ifoda sifatida funktsiyaga o'tkaziladi. Olingan qiymat Average_Price taxallusiga o'rnatiladi, lekin siz uni o'rnatmaslikni tanlashingiz mumkin.
Biz filtrlashni ham qo'llashimiz mumkin. Masalan, ma'lum bir ishlab chiqaruvchining tovarlarining o'rtacha narxini topish uchun:
Bundan tashqari, biz murakkabroq ifodalar uchun o'rtacha qiymatni topishimiz mumkin. Masalan, ularning miqdorini hisobga olgan holda barcha tovarlarning o'rtacha summasini topamiz:
Hisoblash
Hisoblash funksiyasi tanlovdagi qatorlar sonini hisoblab chiqadi. Ushbu funktsiyaning ikkita shakli mavjud. Birinchi shakl COUNT(*) tanlovdagi qatorlar sonini hisoblaydi:
Funktsiyaning ikkinchi shakli bo'sh qatorlarga e'tibor bermasdan, berilgan ustun uchun qatorlar sonini hisoblab chiqadi:
min va maks
Min va Maks funksiyalari mos ravishda ustun uchun minimal va maksimal qiymatlarni qaytaradi. Masalan, tovarlar orasidagi minimal narxni topamiz:
Maksimal narxni qidiring:
Ushbu funktsiyalar NULL qiymatlarni ham e'tiborsiz qoldiradi va ularni hisobga olmaydi.
so'm
Sum funksiyasi ustun qiymatlari yig‘indisini hisoblab chiqadi. Masalan, tovarlarning umumiy sonini hisoblaymiz:
Bundan tashqari, ustun nomi o'rniga hisoblangan ifoda o'tkazilishi mumkin. Masalan, barcha mavjud tovarlarning umumiy qiymatini topamiz:
All va Distinct
Odatiy bo'lib, yuqoridagi besh funktsiyaning barchasi natijani hisoblash uchun namunadagi barcha qatorlarni hisobga oladi. Ammo namunada takroriy qiymatlar bo'lishi mumkin. Agar qiymatlar to'plamidan takroriy ma'lumotlar bundan mustasno, faqat noyob qiymatlar bo'yicha hisob-kitoblarni bajarish kerak bo'lsa, buning uchun DISTINCT operatori ishlatiladi.
Odatiy bo'lib, DISTINCT o'rniga barcha qatorlarni tanlaydigan ALL operatori ishlatiladi:
Ushbu operator DISTINCT bo'lmaganda yashirin bo'lgani uchun uni o'tkazib yuborish mumkin.
Funktsiya kombinatsiyasi
Keling, bir nechta funktsiyalardan foydalanishni birlashtiramiz:
Do'stlaringiz bilan baham: |