Когато присъства голямо количество данни, често виждаме възможност за манипулиране на данните според нашите изисквания. Клаузата GROUP BY е една такава , използвани за групиране на данните въз основа на няколко колони или на условия. В тази статия за SQL GROUP BY Statement ще обсъдя няколко начина за използване на операторите GROUP BY в следната последователност:
Преди да преминем към примерите за това как да използваме клаузата GROUP BY, нека разберем какво е GROUP BY в SQL и неговия синтаксис.
Оператор SQL GROUP BY
Този оператор се използва за групиране на записи със същите стойности. Операторът GROUP BY често се използва с обобщените функции за групиране на резултатите по една или повече колони.Отделно от това, клаузата GROUP BY се използва и с клаузата HAVING и за групиране на набора от резултати въз основа на условия.
SQL GROUP BY Синтаксис
ИЗБЕРЕТЕ Колона1, Колона2, ..., КолонаN ОТ Име на таблицата КЪДЕ Условие ГРУПА ПО ИМЯ НА КОЛОНА ПОРЪЧКА ПО ИМА
Тук можете да добавите агрегираните функции преди имената на колоните, както и клауза HAVING в края на израза, за да споменете условие.След това, в тази статия за SQL GROUP BY, нека разберем как да приложим това изявление.
Примери:
За ваше по-добро разбиране разделих примерите на следните раздели:
Ще разгледам следната таблица, за да ви обясня примерите:
EmpID | EmpName | EmpEmail | Телефонен номер | Заплата | Град |
един | Нидхи | nidhi@sample.com | 9955669999 | 50 000 | Мумбай |
2 | Анай | anay@sample.com | 9875679861 | 55000 | Слагам |
3 | Рахул | rahul@sample.com | 9876543212 | 35000 | Делхи |
4 | Соня | sonia@sample.com | 9876543234 | 35000 кой метод на клас скенер чете низ | Делхи |
5 | Акаш | akash@sample.com | 9866865686 | 25000 | Мумбай |
Нека да разгледаме всеки един от тях.
Използвайте SQL GROUP BY в една колона
Пример:
Напишете заявка за извличане на броя на служителите във всеки град.
ИЗБЕРЕТЕ БРОЙ (EmpID), град ОТ СЛУЖИТЕЛИ ГРУПИРАНЕ ПО ГРАД
Изход:
Ще видите следния изход:
Брой (EmpID) | Град |
2 | Делхи |
2 | Мумбай |
един | Слагам |
Използвайте SQL GROUP BY на множество колони
Пример:
Напишете заявка за извличане на броя на служителите с различни заплати във всеки град.
ИЗБЕРЕТЕ Град, Заплата, Брой (*) ОТ Служителите ГРУПИРАНЕ ПО Град, Заплата
Изход:
Таблицата ще съдържа следните данни:
Град | Заплата | Броя(*) |
Делхи | 35000 | 2 |
Мумбай | 25000 | един |
Мумбай | 50 000 | един |
Слагам | 55000 | един |
Използвайте SQL GROUP BY с ORDER BY
Когато използваме оператора SQL GROUP BY с Клауза ORDER BY , стойностите се сортират във възходящ или низходящ ред.
Пример:
Напишете заявка за извличане на броя на служителите във всеки град, сортирани в низходящ ред.
ИЗБЕРЕТЕ БРОЙ (EmpID), град ОТ служителите ГРУПИРАНЕ ПО ГРАД ПОРЪЧКА ПО БРОЙ (EmpID) DESC
Изход:
Таблицата ще съдържа следните данни:
Брой (EmpID) | Град |
2 | Делхи |
2 | Мумбай |
един | Слагам |
Използвайте SQL GROUP BY с клауза HAVING
Операторът SQL GROUP BY се използва с клауза „HAVING“ за споменаване на условия за групи.Също така, тъй като не можем да използваме агрегатните функции с клаузата WHERE, трябва да използваме клаузата ‘HAVING’, за да използваме агрегатните функции с GROUP BY.
Пример:
Напишете заявка за извличане на броя на служителите във всеки град, които имат заплата> 15000
ИЗБЕРЕТЕ БРОЙ (EmpID), град ОТ СЛУЖИТЕЛИ ГРУПА ПО ГРАД, ИМАЩИ ЗАПЛАТА> 15000
Изход:
Тъй като всички записи в таблицата на служителите имат заплата> 15000, ще видим следната таблица като изход:
Брой (EmpID) | Град |
2 | Делхи |
2 | Мумбай |
един | Слагам |
Използвайте GROUP BY с JOINS
са SQL инструкции, използвани за комбиниране на редове от две или повече таблици, въз основа на свързана колона между тези таблици. Можем да използваме оператора SQL GROUP BY, за да групираме набора от резултати въз основа на колона / колони.Помислете за таблиците по-долу, за да изпълните инструкциите JOIN с клаузата SQL GROUP BY.
Таблица с проекти:
ProjectID | EmpID | ClientID | Дата на проекта |
2. 3. 4. 5 | един | 4 | 26.01.2019 |
9876 | 2 | 5 | 28.02.2019 |
3456 | 3 | 6 | 03-12-2019 |
Таблица на клиентите:
ClientID | Име на клиента |
4 | Санджана |
5 | Рохан |
6 | Арун |
Пример
Напишете заявка, за да изброите броя на проектите, заявени от всеки клиент:
ИЗБЕРЕТЕ Clients.ClientName, COUNT (Projects.ProjectID) КАТО ИСКАНИ Проекти ОТ ПРОЕКТИ НАЛЯВО ПРИСЪЕДИНЯВАНЕ НА КЛИЕНТИ В ПРОЕКТИ.ProjectID = Клиенти.GROUPID Име на клиента
Изход:
Таблицата ще съдържа следните данни:
Име на клиента | Заявени проекти |
Арун | един |
Рохан | един |
Санджана | един |
С това стигнахме до края на статията SQL GROUP BY. Вижте това от Edureka, доверена компания за онлайн обучение с мрежа или f повече от 250 000 доволни учащи се разпространяват по целия свят. Този курс ви обучава на основните концепции и усъвършенствани инструменти и техники за управление на данни и администриране на базата данни MySQL. Включва практическо обучение по концепции като MySQL Workbench, MySQL Server, Моделиране на данни, MySQL Connector, Дизайн на база данни, MySQL команден ред, MySQL функции и др. В края на обучението ще можете да създадете и администрирате своя собствена MySQL база данни и управление на данни.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия „SQL GROUP BY“ и ние ще се свържем с вас възможно най-скоро.