Може ли group by да се използва без да имате?
Може ли group by да се използва без да имате?

Видео: Може ли group by да се използва без да имате?

Видео: Може ли group by да се използва без да имате?
Видео: Все шуруповёрты ломаются из-за этого! Хватит допускать эту ошибку! 2024, Може
Anonim

Използвайки има без група от Запитване с a като има клаузата също трябва да има a група по клауза. Ако пропуснете група by, всички редове, които не са изключени от клаузата where, се връщат като единично група . Тъй като не се извършва групиране между where и като има клаузи, те не могат да действат независимо една от друга.

Също така, може ли да се използва група по без агрегатни функции?

Вие може да използва на ГРУПА BY клауза без прилагане на ан агрегатна функция . Следната заявка получава данни от таблицата за плащане и групи резултатът по идентификатор на клиента. В този случай, ГРУПА BY работи като клаузата DISTINCT, която премахва дублиращи се редове от набора от резултати.

Освен това, каква е разликата между група по и притежаване? Основното разлика между КЪДЕ и ИМАЩА клаузата идва, когато се използва заедно с ГРУПА Клауза BY, в този случай WHERE се използва за филтриране на редове преди групиране и ИМАЩА се използва за изключване на записи след групиране . Можете дори да използвате клауза WHERE без ИМАЩА или ГРУПА BY, както сте го виждали много пъти.

Впоследствие въпросът е, изисква ли групиране по?

изберете 1 като има 1 = 1; Така като има не прави изискват група от . Да имаш е прилага се след фазата на агрегиране и трябва да се използва, ако искате да филтрирате обобщените резултати. В обобщение, да имаш е прилага се след Групирай по фаза, докато къде е прилага се преди Групирай по фаза.

Можем ли да използваме клауза с без клауза where?

Въведение в Oracle клауза HAVING то е използван за филтриране на групи от редове, върнати от GROUP BY клауза . Ако ти използване на HAVING клауза без ГРУПАТА BY клауза , на клауза HAVING работи като WHERE клауза . Имайте предвид, че клауза HAVING филтрира групи от редове, докато WHERE клауза филтрира редове.

Препоръчано: