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‗rov 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 chakllashtiradi. Masalan,
quyidagi so‗rov: SELECT SUM(SALES),
SUM(QUOTA),
(SUM(SALES) - SUM(QUOTA)),
Do'stlaringiz bilan baham: |