(SUM(SALES - QUOTA))
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:
1. Agar ustundagi qiymatlardan biri NULL ga teng bo‗lsa, funksiya natijasini
hisoblashda ular tashlab yuboriladi!
2. Agar ustundagi hamma qiymatlar NULL ga teng bo‗lsa, AVG(), SUM(), MIN(),
MAX() funksiyalari NULL qaytaradi! Funksiya COUNT() nol qaytaradi!
3. Agar ustunda qiymatlar bo‗lmasa (ya‘ni ustun bo‗sh), AVG(), SUM(), MIN(),
MAX() funksiyalari NULL qaytaradi! Funksiya COUNT()nol qaytaradi!
4. Funksiya COUNT(*) satrlar sonini hisoblaydi va ustunda NULL qiymat bor
yo‗qligiga bog‗liq emas! Agar ustunda satrlar bo‗lmasa, bu funksiya nol qaytaradi!
5. DISTINCT funksiyasini agregat funksiyalar bilan birga ishlatish mumkin.
Masalan quyidagi so‗rovlarda:
1. Kompaniyamizda qancha har xil raportlar nomlari mavjud?
SELECT COUNT(DISTINCT TITLE)
FROM SALESREPS
DISTINCT va agregatlar ishlashda quyidagi qoidalar mavjud. Agar siz DISTINCT
va agregat funksiyani ishlatsangiz uning argumenti faqat ustun nomi bo‗lishi
mumkin, ifoda argument bo‗lolmaydi. MIN(), MAX() funksiyalarida DISTINCT
ishlatish ma‘nosi yo‗q! COUNT() funksiyasida DISTINCT ishlatiladi, lekin kam
hollarda. COUNT(*) funksiyasiga umuman DISTINCT qo‗llab bo‗lmaydi, chunki
u satrlar sonini hisoblaydi! Bitta so‗rovda DISTINCT faqat bir marta qo‗llanishi
mumkin! Agarda u agregat funksiya argumenti sifatida qo‗llanilsa, boshqa
argument bilan qo‗llash mumkin emas!
Do'stlaringiz bilan baham: |