Sök…


Introduktion

Samlade funktioner i SQL Server kör beräkningar på uppsättningar av värden och returnerar ett enda värde.

Syntax

  • AVG ([ALL | DISTINCT] uttryck )
  • COUNT ([ALL | DISTINCT] uttryck )
  • MAX ([ALL | DISTINCT] uttryck )
  • MIN ([ALL | DISTINCT] uttryck )
  • SUM ([ALL | DISTINCT] uttryck )

SUMMA()

Returnerar summan av numeriska värden i en given kolumn.

Vi har en tabell som visas i figuren som kommer att användas för att utföra olika aggregerade funktioner. Tabellnamnet är Marksheet .

ange bildbeskrivning här

Select SUM(MarksObtained) From Marksheet

sum beaktar inte rader med NULL-värde i det fält som används som parameter

I exemplet ovan om vi har en annan rad som denna:

106    Italian    NULL

Denna rad kommer inte att beaktas i summan beräkning

AVG ()

Returnerar genomsnittet av numeriska värden i en given kolumn.

Vi har en tabell som visas i figuren som kommer att användas för att utföra olika aggregerade funktioner. Tabellnamnet är Marksheet .

ange bildbeskrivning här

Select AVG(MarksObtained) From Marksheet

Den average funktion anser inte rader med NULL värde i fältet som används som parameter

I exemplet ovan om vi har en annan rad som denna:

106    Italian    NULL

Denna rad kommer inte att beaktas i den genomsnittliga beräkningen

MAX ()

Returnerar det största värdet i en given kolumn.

Vi har en tabell som visas i figuren som kommer att användas för att utföra olika aggregerade funktioner. Tabellnamnet är Marksheet .

ange bildbeskrivning här

Select MAX(MarksObtained) From Marksheet

MIN ()

Returnerar det minsta värdet i en given kolumn.

Vi har en tabell som visas i figuren som kommer att användas för att utföra olika aggregerade funktioner. Tabellnamnet är Marksheet .

ange bildbeskrivning här

Select MIN(MarksObtained) From Marksheet

RÄKNA()

Returnerar det totala antalet värden i en given kolumn.

Vi har en tabell som visas i figuren som kommer att användas för att utföra olika aggregerade funktioner. Tabellnamnet är Marksheet .

ange bildbeskrivning här

Select COUNT(MarksObtained) From Marksheet

count beaktar inte rader med NULL-värde i det fält som används som parameter. Räknarparametern är vanligtvis * (alla fält) så endast om alla fält i raden är NULL kommer denna rad inte att beaktas

I exemplet ovan om vi har en annan rad som denna:

106    Italian    NULL

Denna rad kommer inte att beaktas vid beräkningen

NOTERA

Funktionen COUNT(*) returnerar antalet rader i en tabell. Detta värde kan också erhållas genom att använda ett konstant icke-null-uttryck som inte innehåller några kolumnreferenser, till exempel COUNT(1) .

Exempel

Select COUNT(1) From Marksheet

COUNT (Column_Name) med GROUP BY Column_Name

Oftast vill vi få det totala antalet förekomst av ett kolumnvärde i en tabell till exempel:

TABELLNAMN: RAPPORTER

REPORT ReportPrice
Testa 10,00 $
Testa 10,00 $
Testa 10,00 $
Test 2 11,00 $
Testa 10,00 $
Test 3 14,00 $
Test 3 14,00 $
Test 4 100,00 $
SELECT  
    ReportName AS REPORT NAME, 
    COUNT(ReportName) AS COUNT 
FROM     
    REPORTS 
GROUP BY 
    ReportName 
RAPPORTNAMN RÄKNA
Testa 4
Test 2 1
Test 3 2
Test 4 1


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow