Blog JSystems - z miłości do programowania

Szukaj

Operator HAVING w MS SQL Server

Przed dokonaniem grupowania można zastosować klauzulę where, która wybierze tylko część wierszy z tabeli. Klauzula where wykonuje się przed grupowaniem, a zatem nie można w tej klauzuli sprecyzować warunku zawierającego funkcje grupowe. Aby taki warunek zawrzeć w zapytaniu należy zastosować dodatkową klauzulę having wraz z odpowiednim warunkiem. Jest ona odpowiednikiem klauzuli where, tylko, że wykonuje się ona po procesie grupowania. Stanowi ona wsparcie dla agregacji.


 select count(*) IlośćWierszy, ProductCategoryID, from SalesLT.Product group by ProductCategoryID, having count(*)>10;


76.jpg (760×350)


Wyświetlona została ilość wierszy , która została pogrupowana z uwzględnieniem odpowiedniego identyfikatora kategorii produktu, a następnie pozostawione wyniku wyświetlenia zostały jedynie rekordy, gdzie podliczona ilość wierszy wynosiła więcej niż 10.


 

Przyjdź do nas na szkolenie z baz danych SQL Server! Mamy szereg szkoleń w ofercie: SQL, T-SQL, tuning, administracja i wiele innych. Sprawdź dostępne szkolenia SQL Server
Zapisz się do newslettera aby otrzymywać najnowsze świeżynki pojawiające się na blogu! Zapisz się do newslettera