Database
 sql >> база данни >  >> RDS >> Database

Каква е употребата на SQL GROUP BY изявление?

Когато има голямо количество данни, често виждаме възможност да манипулираме данните според нашите изисквания. Клаузата GROUP BY е един такъв израз в SQL, използван за групиране на данните въз основа на няколко колони или на условия. В тази статия за SQL GROUP BY оператор ще обсъдя няколко начина за използване на операторите GROUP BY в следната последователност:

  1. Изявление GROUP BY
  2. Синтаксис
  3. Примери:
    • Използвайте GROUP BY в една колона
    • GROUP BY в множество колони
    • Използвайте GROUP BY с ORDER BY
    • GROUP BY с клауза HAVING
    • Използвайте GROUP BY с JOINS

Преди да преминем към примерите за това как да използваме клаузата GROUP BY, нека разберем какво е GROUP BY в SQL и неговия синтаксис.

Изявление на SQL GROUP BY

Този израз се използва за групиране на записи със същите стойности. Инструкцията GROUP BY често се използва с агрегатните функции за групиране на резултатите по една или повече колони. Освен това клаузата GROUP BY се използва също с клаузата HAVING и JOINS за групиране на набора от резултати въз основа на условия.

SQL GROUP BY Синтаксис

SELECT Column1, Column2,..., ColumnN
FROM TableName
WHERE Condition
GROUP BY ColumnName(s)
ORDER BY ColumnName(s);

Тук можете да добавите агрегатните функции преди имената на колоните, както и клауза HAVING в края на израза, за да споменете условие. След това, в тази статия за SQL GROUP BY, нека разберем как да приложим това изявление.

Примери:

За по-добро разбиране разделих примерите на следните раздели:

    • Използвайте GROUP BY в една колона
    • GROUP BY в множество колони
    • Използвайте GROUP BY с ORDER BY
    • GROUP BY с клауза HAVING
    • Използвайте GROUP BY с JOINS

Ще разгледам следната таблица, за да ви обясня примерите:

EmpID EmpName EmpEmail Номер на телефон Заплата Град

1

Нидхи

[email protected]

9955669999

50000

Мумбай

2

Да,

[email protected]

9875679861

55000

Пуна

3

Рахул

[email protected]

9876543212

35000

Делхи

4

Соня

[email protected]

9876543234

35000

Делхи

5

Акаш

[email protected]

9866865686

25000

Мумбай

Нека да разгледаме всеки един от тях.

Използвайте SQL GROUP BY в една колона

Пример:

Напишете заявка, за да извлечете броя на служителите във всеки град.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City;

Изход:

Ще видите следния изход:

Count(EmpID) Град

2

Делхи

2

Мумбай

1

Пуна

Използвайте SQL GROUP BY за множество колони

Пример:

Напишете заявка, за да извлечете броя на служителите с различни заплати във всеки град.

SELECT City, Salary, Count(*)
FROM Employees
GROUP BY City, Salary;

Изход:

Таблицата ще има следните данни:

Град Заплата Брой(*)

Делхи

35000

2

Мумбай

25000

1

Мумбай

50000

1

Пуна

55000

1

Използвайте SQL GROUP BY с ORDER BY

Когато използваме SQL оператор GROUP BY с клаузата ORDER BY, стойностите се сортират във възходящ или низходящ ред.

Пример:

Напишете заявка, за да извлечете броя на служителите във всеки град, сортирани в низходящ ред.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
ORDER BY COUNT(EmpID) DESC;

Изход:

Таблицата ще има следните данни:

Count(EmpID) Град

2

Делхи

2

Мумбай

1

Пуна

Използвайте SQL GROUP BY с клауза HAVING

Изразът на SQL GROUP BY се използва с клауза „HAVING“, за да се споменат условия за групи. Освен това, тъй като не можем да използваме агрегатните функции с клаузата WHERE, трябва да използваме клаузата „HAVING“, за да използваме агрегатните функции с GROUP BY.

Пример:

Напишете заявка за извличане на броя на служителите във всеки град със заплата> 15000

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
HAVING SALARY > 15000;

Изход:

Тъй като всички записи в таблицата на служителите имат заплата> 15000, ще видим следната таблица като изход:

Count(EmpID) Град

2

Делхи

2

Мумбай

1

Пуна

Използвайте GROUP BY с JOINS

JOINS са SQL изрази, използвани за комбиниране на редове от две или повече таблици, въз основа на свързана колона между тези таблици. Можем да използваме оператора SQL GROUP BY, за да групираме резултантния набор въз основа на колона/колони. Помислете за таблиците по-долу, за да изпълните операторите JOIN с клаузата на SQL GROUP BY.

Таблица с проекти:

ИД на проект EmpID ClientID Дата на проекта
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Таблица с клиенти:

ClientID Име на клиента

4

Санджана

5

Рохан

6

Арун

Пример

Напишете заявка за изброяване на броя проекти, заявени от всеки клиент:

SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects
LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID
GROUP BY ClientName;

Изход:

Таблицата ще има следните данни:

Име на клиента Искани проекти

Арун

1

Рохан

1

Санджана

1

С това стигаме до края на статията SQL GROUP BY. Вижте това Обучение за сертифициране на MySQL DBA от Edureka, доверена компания за онлайн обучение с мрежа оот повече от 250 000 доволни учащи се разпръснат по целия свят. Този курс ви обучава на основните концепции и усъвършенствани инструменти и техники за управление на данни и администриране на базата данни MySQL. Той включва практическо обучение на концепции като MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL команден ред, MySQL функции и т.н. В края на обучението ще можете да създавате и администрирате своя собствена база данни MySQL и управлявайте данни.

Имате въпрос към нас? Моля, споменете го в секцията за коментари на тази статия „SQL GROUP BY“ и ние ще се свържем с вас възможно най-скоро.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Винаги ли се нуждаете от база данни за вашето приложение?

  2. Модел на данни за заплати

  3. Как да инсталирате Libreoffice на Ubuntu 16.04

  4. Как да филтрирате редове без NULL в колона

  5. 12 често използвани SQL оператори