Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menggunakan fungsi sum() dalam mysql

Bagaimana untuk menggunakan fungsi sum() dalam mysql

青灯夜游
青灯夜游asal
2022-06-17 18:52:0519449semak imbas

Dalam mysql, fungsi sum() digunakan untuk mengira jumlah set nilai atau ungkapan Sintaks ialah "SUM (ungkapan DISTINCT)". dalam set. Fungsi sum() perlu digunakan bersama-sama dengan pernyataan SELECT Jika fungsi SUM() digunakan dalam pernyataan SELECT yang tidak mengembalikan baris yang sepadan, fungsi SUM() akan mengembalikan NULL dan bukannya 0; fungsi akan mengabaikan lajur semasa mengira Baris dengan nilai NULL.

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

fungsi mysql sum()

Fungsi SUM() digunakan untuk mengira jumlah set nilai atau ungkapan. Fungsi SUM() Sintaks adalah seperti berikut:

SUM(DISTINCT expression)
参数 描述
expression 必须项。字段或公式

Bagaimanakah fungsi SUM() berfungsi?

  • Jika fungsi SUM digunakan dalam pernyataan SELECT yang tidak mengembalikan baris yang sepadan, fungsi SUM mengembalikan NULL dan bukannya 0.

  • Pengendali DISTINCT membenarkan pengiraan nilai yang berbeza dalam satu set.

  • Fungsi SUM() akan mengabaikan baris dengan nilai lajur NULL apabila mengira.

Contoh penggunaan fungsi sum()

Untuk memudahkan pemahaman, mula-mula buat jadual skor pelajar tb_students_score , pelajar Kandungan data jadual skor adalah seperti berikut

mysql> SELECT * FROM tb_students_score;

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Gunakan fungsi sum() untuk mengira jumlah markah markah pelajar dalam jadual tb_students_score

mysql> SELECT SUM(student_score) AS score_sum FROM tb_students_score;

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Seperti yang anda boleh lihat daripada hasil pertanyaan, fungsi SUM() mengembalikan jumlah semua gred pelajar sebagai 942.

Pengetahuan lanjutan:

Klausa MySQL SUM dan GROUP BY

Apabila digunakan dengan GROUP BY Apabila klausa digabungkan, fungsi SUM() mengira jumlah untuk setiap kumpulan yang dinyatakan dalam klausa GROUP BY. Sebagai contoh, anda boleh menggunakan fungsi SUM dengan klausa GROUP BY untuk mengira jumlah amaun setiap pesanan, seperti berikut:

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2) total
FROM orderdetails
GROUP BY orderNumber
ORDER BY SUM(quantityOrdered * priceEach) DESC;

Laksanakan pernyataan pertanyaan di atas dan dapatkan keputusan berikut -

+-------------+-----------+
| orderNumber | total     |
+-------------+-----------+
|       10165 | 67,392.85 |
|       10287 | 61,402.00 |
|       10310 | 61,234.67 |
|       10212 | 59,830.55 |
*** 此处省略了一大波数据 *****
|       10116 | 1,627.56  |
|       10158 | 1,491.38  |
|       10144 | 1,128.20  |
|       10408 | 615.45    |
+-------------+-----------+
327 rows in set

MySQL SUM dan HAVING

Anda boleh menggunakan klausa HAVING dalam fungsi SUM untuk menapis hasil berdasarkan syarat tertentu. Sebagai contoh, anda boleh mengira jumlah kuantiti pesanan dan hanya memilih pesanan dengan jumlah keseluruhan lebih daripada 60,000. Pernyataan pertanyaan berikut-

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2)
FROM orderdetails
GROUP BY orderNumber
HAVING SUM(quantityOrdered * priceEach) > 60000
ORDER BY SUM(quantityOrdered * priceEach);

Laksanakan pernyataan pertanyaan di atas dan dapatkan hasil berikut-

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Jumlah dan LIMIT MySQL

Andaikan anda ingin mengira jumlah sepuluh produk paling mahal dalam jadual produk, anda boleh bertanya pertanyaan berikut:

SELECT SUM(buyprice)
FROM products
ORDER BY buyprice DESC
LIMIT 10;

Laksanakan perkara di atas pernyataan pertanyaan dan dapatkan hasil berikut -

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Ia tidak berfungsi kerana pernyataan SELECT dengan fungsi SUM hanya mengembalikan satu baris dan kekangan klausa LIMIT pada bilangan baris ke dikembalikan adalah tidak sah. Untuk menyelesaikan masalah ini, sila gunakan subquery berikut:

SELECT FORMAT(SUM(buyprice),2) FROM
(SELECT buyprice
FROM products
ORDER BY buyprice DESC
LIMIT 10) price;

Laksanakan pernyataan pertanyaan di atas dan dapatkan keputusan berikut-

Bagaimana untuk menggunakan fungsi sum() dalam mysql

Bagaimana pernyataan di atas berlari? Subquery memilih sepuluh produk paling mahal. Pertanyaan luar mengira jumlah 10 produk harga tertinggi teratas yang dikembalikan daripada subkueri.

SUM MySQL dengan NULL

Jika tiada baris yang sepadan, fungsi SUM mengembalikan nilai NULL. Kadangkala anda mahu fungsi SUM mengembalikan 0 dan bukannya NULL. Dalam kes ini, fungsi COALESCE boleh digunakan. Fungsi COALESCE menerima dua parameter Jika parameter pertama adalah NULL, parameter kedua dikembalikan, jika tidak, parameter pertama dikembalikan; Keputusan berikut-

SELECT COALESCE(SUM(quantityOrdered * priceEach),0)
FROM orderdetails
WHERE productCode = 'S1_212121';

[Cadangan berkaitan: Bagaimana untuk menggunakan fungsi sum() dalam mysqltutorial video mysql

]

Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi sum() dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn