SELECT MIN(QUOTA), MAX(QUOTA) FROM SALESREPS
Bu sonlarni o‘z ichiga olgan ustunlardir. Yana bir so‘rov beramiz: bazadagi buyurtmalarning ichida eng oldin berilgan so‘rov sanasi?
SELECT MIN(ORDER_DATE) FROM ORDERS
Satrlar bilan ishlaganda har xil SQL serverlardagi kodirovkalar har xil natija berishi mumkin. Yozuvlar sonini sanash uchun COUNT() qo‘llanadi. Bu funksiya son qiymat qaytaradi.
Masalan: Kompaniyamiz mijozlari soni nechta?
Yana bir so‘rov: Qancha xizmatchi rejani ortig‘i bilan bajardi?
SELECT COUNT(NAME) FROM SALESREPS WHERE SALES > QUOTA
COUNT(*) funksiyasi qiymatlar sonini emas, satrlar sonini hisoblaydi. Quyidagicha yozish mumkin:
SELECT COUNT(*) FROM ORDERS WHERE AMOUNT > 250
NULL qiymat va agregat funksiyalar.Ustun qiymati NULL bo‘lsa AVG(), MIN(), MAX(), SUM(), COUNT() funksiyalari qanday qiymat qaytaradi. ANSI/ISO qoidalariga ko‘ra "agregat funksiyalar NULL qiymatni e’tiborga olmaydi".
Quyidagi so‘rovni ko‘ramiz:
SELECT COUNT(*), COUNT(SALES), COUNT(QUOTA) FROM SALESREPS
Jadval bitta lekin so‘rovdagi qiymatlar har xil. Chunki QUOTA maydoni- NULL qiymatni o‘z ichiga oladi. COUNT funksiyasi COUNT(maydon) ko‘rinishda bo‘lsa NULL qiymatni e’tiborga olmaydi, COUNT(*) bo‘lsa satrlar umumiy sonini hisoblaydi. MIN(), MAX() funksiyalari ham NULL qiymatni e’tiborga olmaydi, lekin AVG(), SUM() - NULL qiymat mavjud bo‘lsa chalkashtiradi.
Masalan, quyidagi so‘rov:
SELECT SUM(SALES), SUM(QUOTA),
(SUM(SALES) - SUM(QUOTA)), (SUM(SALES – UOTA)) FROM SALESREPS
(SUM(SALES)-SUM(QUOTA)) va (SUM(SALES-QUOTA))
ifodalari agar QUOTA, maydoni NULL qiymatga ega bo‘lsa har xil qiymat qaytaradi. Ya‘ni ifoda SUM(ustun qiymati - NULL). Yana NULL qaytaradi. Shunday qilib:
Agar ustundagi qiymatlardan biri NULL ga teng bo‘lsa, funksiya natijasini hisoblashda ular tashlab yuboriladi.
Agar ustundagi hamma qiymatlar NULL ga teng bo‘lsa, AVG(), SUM(), MIN(), MAX() funksiyalari NULL qaytaradi. Funksiya COUNT() nolь qaytaradi.
Agar ustunda qiymatlar bo‘lmasa (ya‘ni ustun bo‘sh), AVG(), SUM(), MIN(), MAX() funksiyalari NULL qaytaradi. Funksiya COUNT()nolь qaytaradi.
Funksiya COUNT(*) satrlar sonini hisoblaydi va ustunda NULL qiymat bor yo‘qligiga bog‘liq emas. Agar ustunda satrlar bo‘lmasa, bu funksiya nol qaytaradi.
DISTINCT funksiyasini agregat funksiyalar bilan birga ishlatish mumkin.
Masalan quyidagi so‘rovlarda: kompaniyamizda qancha har xil raportlar nomlari mavjud?
Do'stlaringiz bilan baham: |