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?
Do'stlaringiz bilan baham: |