rezumat: în acest tutorial, veți învăța cum să utilizați funcția SQL SUM pentru a calcula suma tuturor valorilor sau valorilor distincte.
Introducere în SQL SUM funcția
SUM
funcția returnează suma numerelor., The syntax of the SUM()
function is as follows:
1
|
SUM( DISTINCT | ALL numeric_expression)
|
Unlike other SQL aggregate functions, the SUM()
function accepts only the expression that evaluates to numerical values.,
puteți specifica fie ALL
sau DISTINCT
modificator în SUM()
function.
DISTINCT
modificator instruieșteSUM()
funcția pentru a calcula numărul total de valori distincte, ceea ce înseamnă duplicate sunt eliminate.ALL
modificator permiteSUM()
funcția să returneze suma tuturor valorilor, inclusiv duplicate., FuncțiaSUM()
utilizează modificatorulALL
în mod implicit dacă nu specificați niciun modificator în mod explicit.
SQL sum function examples
vom folosi tabelulproducts
pentru exemplele noastre din secțiunile următoare.,in conjunction with a GROUP BY clause as the following query:
1
2
3
4
5
|
SELECT
supplierid, SUM(unitsinstock)
FROM
products
GROUP BY supplierid;
|
The GROUP BY
clause groups the products by suppliers., Pentru fiecare grup, suma() funcția calcula suma unităților în stoc.,div>
Dacă utilizați un alias pentru coloana expresia care conține SUM()
funcția, puteți consulta alias-ul HAVING
clauză în loc de exprimare., Acest lucru vă ajută să economisiți timp tastând aceeași expresie de două ori. În plus, atunci când schimbați expresia, trebuie să o schimbați într-un singur loc.
următoarea interogare produce același rezultat ca interogarea de mai sus.,v>
Advanced SQL SUM function examples
You can use the SUM function to answer more challenging business questions such as get top 5 customers by sales as the following query:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SELECT
customers.,customerid,
companyname,
(SUM(unitprice * cantitate) – SUM(unitprice * cantitate) * reducere) total
DE
orderdetails
INNER JOIN
comenzi PE comenzi.orderid = orderdetails.orderid
inner JOIN
clienții pe clienți.customerid = comenzi.customerid
grup de clienți.customerid
COMANDA DE total DESC
LIMITA de 5
|
Vom folosi LIMITA clauză pentru a obține doar 5 rânduri din setul de rezultate., Atât MySQL, cât și PostgreSQL acceptă clauza LIMIT
. În Microsoft SQL Server, puteți folosi SELECT TOP
așa cum se arată în următoarea interogare pentru a obține același rezultat:
1
2
3
4
5
6
7
8
9
10
11
12
|
SELECTAȚI TOP 5
clienții.,customerid,
companyname,
(SUM(unitprice * cantitate) – SUM(unitprice * cantitate) * reducere) total
DE
orderdetails
INNER JOIN
comenzi PE comenzi.orderid = orderdetails.orderid
inner JOIN
clienții pe clienții.customerid = comenzi.customerid
grup de clienți.,customerid
COMANDA DE total DESC;
|
următoarea interogare folosește SUM()
funcția pentru a obține cele mai bune 5 produse de vânzare:
1
2
3
4
5
6
7
8
9
10
11
|
SELECTAȚI
p.productid
p.,productname,
(SUM(o.unitprice * cantitate) – SUM(o.unitprice * cantitate) * reducere) total
DE
orderdetails o
INNER JOIN
produse p PE p.productid = o.productid
GROUP BY p.productid
COMANDA DE total DESC
LIMITA de 5;
|
În acest tutorial, ne-au arătat cum să utilizați SQL SUM
funcție pentru a calcula suma valorilor.
- a fost acest tutorial util ?,
- YesNo