Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite SUM hàm để tính tổng của tất cả các giá trị.
Giới thiệu về SQLite SUM chức năng
SUM hàm là một hàm tổng hợp trả về tổng các giá trị không phải NULL hoặc chỉ các giá trị riêng biệt trong một nhóm.
Biểu thức sau minh họa cú pháp của SUM chức năng:
SUM([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)
SUM hàm sử dụng ALL mệnh đề theo mặc định. Có nghĩa là tất cả các giá trị đầu vào, cho dù trùng lặp hay không, đều được xem xét khi SUM hàm thực hiện phép tính.
Nếu bạn muốn tính tổng của duy nhất giá trị, bạn phải chỉ định DISTINCT mệnh đề rõ ràng trong biểu thức.
Kết quả của SUM hàm là một số nguyên nếu tất cả các giá trị không phải NULL đầu vào là số nguyên. Nếu bất kỳ giá trị đầu vào nào không phải là số nguyên hoặc NULL giá trị, kết quả của SUM hàm là một giá trị dấu phẩy động.
Kết quả của SUM hàm là NULL nếu và chỉ khi tất cả các giá trị đầu vào là NULL .
Trong trường hợp có lỗi tràn số nguyên xảy ra và tất cả các giá trị đầu vào là NULL hoặc số nguyên, SUM hàm ném một ngoại lệ tràn số nguyên.
SQLite SUM ví dụ về hàm
Chúng tôi sẽ sử dụng tracks trong cơ sở dữ liệu mẫu cho phần trình diễn.
Để nhận tổng thời lượng của tất cả các bản nhạc trong tracks , bạn sử dụng SUM hoạt động như câu lệnh sau:
SELECT
SUM(milliseconds)
FROM
tracks;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
SQLite SUM chức năng với GROUP BY mệnh đề
Để tính tổng thời lượng của mỗi album, bạn cần sử dụng SUM chức năng với GROUP BY mệnh đề.
Đầu tiên, GROUP BY mệnh đề nhóm một tập hợp các bản nhạc theo album. Sau đó, SUM hàm tính tổng độ dài của các bản nhạc trên mỗi album.
Câu lệnh sau minh họa ý tưởng:
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
SQLite SUM chức năng và INNER JOIN ví dụ mệnh đề
Để đưa tiêu đề anbom vào đầu ra, bạn nối các tracks bảng vào albums sử dụng INNER JOIN mệnh đề như sau:
SELECT
tracks.albumid,
title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
tracks.albumid,
title;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
SQLite SUM chức năng và HAVING ví dụ mệnh đề
Bạn có thể sử dụng SUM trong HAVING mệnh đề để lọc các nhóm dựa trên một điều kiện cụ thể.
Ví dụ:câu lệnh sau lấy tất cả các anbom có tổng thời lượng lớn hơn 1.000.000 mili giây:
SELECT
tracks.albumid AlbumId,
Title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid= tracks.albumid
GROUP BY
tracks.albumid,
title
HAVING
SUM(milliseconds) > 1000000;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Trong hướng dẫn này, chúng tôi đã giới thiệu cho bạn SUM của SQLite hàm trả về tổng các giá trị trong một nhóm.