SELECT AVG(100 * (SALES/QUOTA)) FROM SALESREPS;
Yana bir shakl: Sizni kompaniyangizda reja bajarilishi o„rtacha foizi qancha?
SELECT AVG(100*(SALES/QUOTA)) as PROCENT FROM SALESREPS
Bu holda ustun nomi ma‟noliroq, lekin bu asosiysi emas. Ustunlar summasini hisoblab ko„ramiz. SUM() funksiyasini qo„llaymiz, buning uchun ustun int toifada bo„lishi kerak! Masalan, quyidagicha: Kompaniya xizmatchilari sotuvlar xajmi rejadagi va xaqiqiy o„rta qiymati qanchaga teng? SELECT SUM(QUOTA), SUM(SALES) FROM SALESREPS;
AVG() agregatlash funksiyasiga yana bir necha sodda misollarni ko„ramiz. Masalan: "ACI" ishlab chiqaruvchi mollari o„rtacha narxini hisoblang.
SELECT AVG(PRICE) FROM PRODUCTS
WHERE MFR_ID = 'ACI'
Ekstremumlarni topish funksiyalari yani MIN(), MAX() funksiyalarini ko„ramiz. Bu funksiyalar sonli ustunlar, sanalar va satrli o„zgaruvchilar bilan ishlaydi. Eng sodda qo„llanishi sonlar bilan ishlash.
Masalan quyidagi so„rov yozamiz: Rejadagi eng ko„p va kam sotuvlar xajmi qancha?
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 xar 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?
SELECT COUNT(CUST_NUM) FROM CUSTOMERS
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„rov ko„ramiz:
Do'stlaringiz bilan baham: |