1. Geometrik model tushunchasi
JUMLADAN AGREGAT FUNKSIYALARDA DUBLIKALAR
Download 35.46 Kb.
|
Биг дата мустақил
- Bu sahifa navigatsiya:
- SKALAR FOYDALANISHGA TURILGAN AGREGATLAR.
- 4.Standart funksiyalar orqali so’rovlar yaratish.
JUMLADAN AGREGAT FUNKSIYALARDA DUBLIKALAR. Yigʻma funksiyalar (koʻpgina ilovalarda) DISTINCT ga oʻxshash maydon nomi oldiga joylashtirilgan ALL argumentidan ham foydalanishi mumkin, lekin buning aksini anglatadi: dublikatlarni oʻz ichiga oladi. ANSI texnik jihatdan COUNT uchun bunga ruxsat bermaydi, lekin ko'pgina ilovalar bu cheklovni yumshatadi.COUNT bilan foydalanilganda ALL va * o'rtasidagi farqlar: ALL argument sifatida maydon nomini oladi. ALL NULL qiymatlarni hisoblay olmaydi. Hozircha * NULL qiymatlarni o'z ichiga olgan yagona argument bo'lib, COUNT bilan ishlatiladigan yagona argumentdir; COUNT dan boshqa funktsiyalar baribir NULL qiymatlarni e'tiborsiz qoldiradi. Quyidagi buyruq Mijozlar jadvalidagi reyting maydonidagi NULL bo'lmagan qiymatlar sonini (COUNT) hisoblaydi (takrorlashlarni o'z ichiga oladi): SKALAR FOYDALANISHGA TURILGAN AGREGATLAR. Hozirgacha argument sifatida bitta maydonli jamlangan funksiyalardan foydalangansiz. Bir yoki bir nechta maydonlarni o'z ichiga olgan skalyar ifodalardan tashkil topgan argumentlar bilan agregat funktsiyalardan ham foydalanishingiz mumkin. (Agar shunday qilsangiz, DISTINCTga ruxsat berilmaydi.) Aytaylik, Buyurtmalar jadvalida har bir mijoz uchun oldingi to'lanmagan qoldiq (blnc maydoni) saqlanadigan yana bitta ustun mavjud. Oldingi balansga xaridlar miqdorini qo'shish orqali ushbu joriy balansni topishingiz kerak. Siz eng katta to'lanmagan qoldiqni quyidagicha topishingiz mumkin: Aytaylik, oldingi misolda siz faqat $3000,00 dan yuqori bo'lgan xaridlarning maksimal miqdorini ko'rishni xohlaysiz. Siz WHERE bandida agregat funksiyasidan foydalana olmaysiz (agar siz quyi soʻrovdan foydalanmasangiz, keyinroq tavsiflanadi), chunki predikatlar bitta satr boʻyicha, yigʻma funksiyalar esa qatorlar guruhlari boʻyicha baholanadi. Bu shuni anglatadiki, siz quyidagi kabi ishni qila olmaysiz:
SELECT snum, odate, MAX (amt) FROM Orders WHERE MAX ((amt)) > 3000.00 GROUP BY snum, odate; Bu qat'iy ANSI talqinidan voz kechish bo'ladi. $3000.00 dan ortiq xaridlarning maksimal qiymatini koʻrish uchun HAVING taklifidan foydalanishingiz mumkin. HAVING bandi, WHERE bandi alohida satrlar uchun qilgani kabi, ayrim guruhlarni chiqishdan olib tashlash uchun ishlatiladigan mezonlarni belgilaydi. To'g'ri buyruq quyidagicha bo'ladi: SELECT snum, odate, MAX ((amt)) FROM Orders GROUP BY snum, odate HAVING MAX ((amt)) > 3000.00; Ushbu so'rovning natijasi 3. 7-rasmda ko'rsatilgan. =============== SQL Execution Log ============== | | | SELECT snum, odate, MAX (amt) | | FROM Orders | | GROUP BY snum, odate | | HAVING MAX (amt) > 3000.00; | | =============================================== | | snum odate | | ------ ---------- -------- | | 1001 10/05/1990 4723.00 | | 1001 10/06/1990 9891.88 | | 1002 10/03/1990 5160.45 | | | ================================================ 3.7-rasm Yig'ma qiymat guruhlarini o'chirish. Endi siz so'rovlardan biroz boshqacha tarzda foydalanasiz. Qadriyatlarni joylashtirish emas, balki qabul qilish qobiliyati juda kuchli. Bu shuni anglatadiki, siz ma'lum ma'lumotlarni kuzatib borishingiz shart emas, agar siz so'rovni qabul qiladigan tarzda shakllantirishingiz mumkin. So'rov sizga daqiqada natijalar beradi, jami yoki o'rtachalar jadvali esa o'zgartirilgandan keyin biroz vaqtgacha yaxshi bo'ladi. Bu yig'ma funktsiyalar bu kabi ma'lumotlarni kuzatib borish zaruratini to'liq o'zgartirishi mumkin, degan xulosaga kelmasligi kerak. GROUP BY bandida belgilangan qiymatlar guruhlari uchun ushbu agregatlardan foydalanishingiz mumkin. Bu guruhlar butun maydon qiymatiga ega va butun maydon qiymatiga ega bo'lgan boshqa guruhlar ichida doimiy yashashi mumkin. Shu bilan birga, agregat funktsiyasining qaysi qatorlari qo'llanilishini aniqlash uchun predikatlar hali ham qo'llaniladi. Birgalikda bu xususiyatlar maydonda aniq belgilangan qiymatlar to'plamiga asoslangan agregatlarni ishlab chiqarishga imkon beradi. Keyin HAVING bandi bilan muayyan guruh natijalarini istisno qilish uchun boshqa shartni belgilashingiz mumkin. 4.Standart funksiyalar orqali so’rovlar yaratish. Agregatlash argumenti bo‘lib ustun nomidan tashqari ixtiyoriy matematik ifoda xizmat qilishi mumkin. Misol uchun quyidagi so‘rovda: Sizni kompaniyangizda reja bajarilishi o‘rtacha foizi qancha. Download 35.46 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling