Sql da so‘rovlarni guruxlash va funksiyalar Muallif: Mengliyev Sh. Qo`shilgan sana: 2015-08-21 Sql da so‘rovlarni guruxlash va funksiyalar



Download 49,5 Kb.
bet5/6
Sana27.11.2022
Hajmi49,5 Kb.
#873748
1   2   3   4   5   6
Bog'liq
Sql da so\'rovlar

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.
SELECT NAME, SUM(AMOUNT)
FROM ORDERS, SALESREPS
WHERE REP = EMPL_NUM
GROUP BY NAME
Agar guruxlash maydonlaridan birida NULL qiymat mavjud bo‘lsa qaysi guruxga tegishli bo‘ladi? WHERE ifodasida NULL va NULL tenglikka solishtirish natijasi yana NULL beradi. SHuning uchun ANSI/ISO standartida GROUP BY ifodasida NULL qiymatlar teng deb qabul qilingan.
Guruxlash va HAVING yordamida ajratish
SHart bo‘yicha satrlarni ajratish uchun WHERE ifodasidan foydalangan edik. SHart bo‘yicha guruxlarni ajratish uchun HAVING operatori mavjuddir. Uning sintaksisi WHERE operatori bilan bir xil va ulardan birgalikda foydalanigsh mumkin. Quyidagi so‘rovni ko‘ramiz:
Buyurtmalar umumiy narxi $300 dan ortiq xizmatchilar uchun buyurtma o‘rtacha narxi qanchaga teng?

Download 49,5 Kb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish