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

Разбиране на група по клауза в SQL Server - SQL Server / TSQL урок, част 130

Сценарий:

Вие работите като разработчик на SQL Server. Имате таблица dbo.Customer, която има CountryShortName и SaleAmount. От вас се иска да напишете заявка, която трябва да върне Sum of SaleAmount , брой записи по CountryShortName.


Решение:

Група по клауза често се използва с агрегатни функции като Sum, Avg,Count,Max,Min за групиране на резултатния набор по колона/s.
Нека създадем нашата примерна таблица с някои данни и да напишем нашата заявка с Group by до отговорете на нашия въпрос.
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)
 
 Нека напишем нашата заявка, като използваме Sum, Count и Group by Clause
SELECT Sum(saleamount) AS TotalSaleByCountry, 
       Count(*) AS RecordCountByCountry, 
       countryshortname 
FROM   dbo.customer 
GROUP  BY countryshortname
 Как да използвате Group by Clause в SQL Server
 
Можете също да използвате множество колони в група по клауза. помислете дали нашата таблица ще има състояния и бихте искали да групирате по CountryShortName и State, Вие просто ще включите State в заявката, както е показано по-долу.

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. Неправилен синтаксис близо до ')', извикващ съхранена процедура с GETDATE

  2. Статистика за използване на индекса на SQL Server

  3. SQL Server Преобразуване на цяло число в двоичен низ

  4. SQL Fuzzy Matching

  5. Външният ключ създава ли автоматично индекс?