Obyektlarining funksiyalariga izoh bering. Reja: Sql da so‘rovlarni guruxlash va funksiyalar


Download 24.87 Kb.
bet5/7
Sana21.02.2023
Hajmi24.87 Kb.
#1216560
1   2   3   4   5   6   7
Bog'liq
Obyektlarining funksiyalariga izoh bering

SELECT REP, CUST, SUM(AMOUNT)
FROM ORDERS
GROUP BY REP, CUST
Lekin ikki ustun bo‘yicha guruxlashda natijalar ikki darajasiga ega guruxlar va ostki guruxlar yaratish mumkin emas. Lekin tartiblashni qo‘llash mumkin. SHu bilan birga GROUP BY ishlatilganda so‘rov natijalari avtomatik tartiblanadi. Quyidagi so‘rovni ko‘ramiz: 
Xar bir xizmatchi uchun xar bir klient bo‘yicha buyurtmalar umumiy sonini xisoblash; so‘rov natijalarini klientlar va xizmatchilar bo‘yicha tartiblash. 
SELECT REP, CUST, SUM(AMOUNT)
FROM ORDERS
GROUP BY REP, CUST
ORDER BY REP, CUST
SHunday qilib GROUP BY ifodasi SELECT ni guruxlarni qayta ishlashga majbur qiladi. 
MS SQL serverida COMPUTE ifodasi mavjud bo‘lib relyasion so‘rovlar asoslariga zid keladi. Lekin uning yordamida saqlanuvchi protseduralardan foydalanmasdan shunga o‘xshash natijalarni olish mumkin. Ruruxlanishli so‘rovlar uchun chegaralar mavjud. Satrlarni xisoblanuvchi ifoda asosida guruxlash mumkin emas. Qaytarilao‘tgan qiymatlar elementlariga xam chegaralar mavjud. Qaytariluvchi ustun bo‘lishi mumkin:
1. Konstantalar.
2. Guruxga kirgan xamma satrlar uchun bitta qiymat qaytaruvchi agregat funksiya.
3. Gurux xamma satrlarida bir xil qiymatga ega guruxlash ustuni.
4. Ko‘rsatilgan elementlarni o‘z ichiga oluvchi ifoda.
Odatda guruxlanishli so‘rovlar qaytaruvchi ustunlarga guruxlash ustuni va agregat funksiya kiradi. Agar agregat ko‘rsatilmasa GROUP BY dan foydalanmasdan DISTINCT ifodasidan foydalanish etarli. Agar so‘rovga guruxlash ustuni qo‘shilmasa, u yoki bu satr qaysi guruxga tegishliligini aniqlash mumkin emas. SHu kabi SQL92 guruxlanishli so‘rovlarni taxlil qilishda birlamchi va ikkilamchi kalitlar xaqidagi ma’lumot ishlatilmaydi. 
Xar bir xizmatchi uchun buyurtmalar umumiy sonini xisoblash. 
SELECT EMPL_NUM, NAME, SUM(AMOUNT)
FROM ORDERS, SALESREPS
WHERE REP = EMPL_NUM
GROUP BY EMPL_NUM, NAME
YAna soddaroq shakl: 
Xar bir xizmatchi uchun buyurtmalar umumiy sonini xisoblash. 

Download 24.87 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling