• SELECT COUNT(DISTINCT CUST_NUM), CUSTOMERS FOR 83 SALESREPS, CUST_REP FROM CUSTOMERS GROUP BY
  • SELECT REP, CUST, SUM(AMOUNT) FROM ORDERS GROUP BY REP, CUST
  • SELECT REP, CUST, SUM(AMOUNT) FROM ORDERS GROUP BY REP, CUST ORDER BY REP, CUST
  • SELECT REP_OFFICE, MIN(QUOTA), MAX(QUOTA) FROM




    Download 1,38 Mb.
    Pdf ko'rish
    bet61/79
    Sana30.01.2024
    Hajmi1,38 Mb.
    #148346
    1   ...   57   58   59   60   61   62   63   64   ...   79
    Bog'liq
    Mundarija kirish

    SELECT REP_OFFICE, MIN(QUOTA), MAX(QUOTA) FROM 
    SALESREPS GROUP BY REP_OFFICE 
    Yana bir so„rov: Xar bir ofisda qancha xizmatchi ishlaydi? 
    SELECT REP_OFFICE, COUNT(*) FROM SALESREPS 
    GROUP BY REP_OFFICE 
    Yana bir guruxlanishli qiziqarli so„rov: Xar bir xizmatchi nechta 
    mijozga xizmat ko„rsatadi? 
    SELECT COUNT(DISTINCT CUST_NUM), 'CUSTOMERS FOR 


    83 
    SALESREPS', CUST_REP FROM CUSTOMERS GROUP BY 
    CUST_REP 
    Bu yerda 'CUSTOMERS FOR SALESREPS' psevodomaydonning 
    ishlatilishiga e‟tibortbering. So„rov natijalarini bir nechta ustun bo„yicha 
    guruxlash mumkin. Masalan, quyidagicha: 
    Xar bir xizmatchi uchun xar bir klient bo„yicha buyurtmalar umumiy 
    sonini xisoblash. 
    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: 
    Konstantalar. 
    A. Guruxga kirgan xamma satrlar uchun bitta qiymat qaytaruvchi 
    agregat funksiya. 
    B. Gurux xamma satrlarida bir xil qiymatga ega guruxlash ustuni. 
    C. 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 


    84 
    so„rovlarni taxlil qilishda birlamchi va ikkilamchi kalitlar xaqidagi 
    ma‟lumot ishlatilmaydi. Har bir xizmatchi uchun buyurtmalar umumiy 
    sonini hisoblash. 

    Download 1,38 Mb.
    1   ...   57   58   59   60   61   62   63   64   ...   79




    Download 1,38 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    SELECT REP_OFFICE, MIN(QUOTA), MAX(QUOTA) FROM

    Download 1,38 Mb.
    Pdf ko'rish