Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zrozumienie grupowania według klauzuli w SQL Server — samouczek SQL Server / TSQL, część 130

Scenariusz:

Pracujesz jako programista SQL Server. Masz tabelę dbo.Customer, która zawiera CountryShortName i SaleAmount. Zostaniesz poproszony o napisanie zapytania, które powinno zwrócić Sum of SaleAmount , liczbę rekordów według CountryShortName.


Rozwiązanie:

Klauzula Group by jest często używana z funkcjami agregującymi, takimi jak Sum, Avg,Count,Max,Min, aby pogrupować zestaw wyników według kolumny/s.
Utwórzmy naszą przykładową tabelę z pewnymi danymi i napisz zapytanie za pomocą Group by to odpowiedz na nasze pytanie.
Create table dbo.Customer
 (Id int,
  FName VARCHAR(50),
  LName VARCHAR(50),
  CountryShortName CHAR(2),
  SaleAmount Int)
GO
--Insert Rows in dbo.Customer Table
insert into dbo.Customer
Values (
1,'Raza','M','PK',10),
(2,'Rita','John','US',12),
(3,'Sukhi','Singh',Null,25),
(4,'James','Smith','CA',60),
(5,'Robert','Ladson','US',54),
(6,'Alice','John','US',87),
(6,'John',Null,'US',Null)
 
 Napiszmy nasze zapytanie, używając opcji Sum, Count i Group by Claus
SELECT Sum(saleamount) AS TotalSaleByCountry, 
       Count(*) AS RecordCountByCountry, 
       countryshortname 
FROM   dbo.customer 
GROUP  BY countryshortname
 Jak używać grupowania według klauzuli w programie SQL Server
 
Możesz także użyć wielu kolumn w klauzuli group by. zastanów się, czy nasza tabela miałaby stany i chciałbyś pogrupować je według nazwy kraju i stanu, możesz po prostu uwzględnić stan w zapytaniu, jak pokazano poniżej.

SELECT Sum(saleamount) AS TotalSaleByCountry, 
       Count(*) AS RecordCountByCountry, 
       countryshortname,
       [State]
FROM   dbo.customer 
GROUP  BY countryshortname,[State]
 
 
 
 
 
Video Demo: What is Group by Clause in SQL Server
 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest różnica między Integrated Security =True i Integrated Security =SSPI?

  2. Dodaj klauzule WHERE do SQL dynamicznie / programowo

  3. Bazy danych systemu SQL Server — konserwacja Tempdb

  4. Jak utworzyć tabelę z kolumną tożsamości

  5. Dynamiczne kolumny przestawne w SQL Server