SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Cách hoạt động của SQLite Total ()

Trong SQLite, total() hàm trả về tổng của tất cả các giá trị không phải NULL trong một nhóm.

Nếu không có giá trị nào không phải NULL, thì nó trả về 0.0.

Hàm này tương tự như sum() , ngoại trừ cách nó xử lý các đầu vào NULL. Khi không có giá trị nào không phải NULL, thì sum() trả về NULL (thay vì 0.0 như total() hàm trả về).

Ví dụ

Hãy xem xét bảng sau.

SELECT * FROM Products;

Kết quả:

ProductId   ProductName            Price     
----------  ---------------------  ----------
1           Blue Widgets (6 Pack)  389.45    
2           Widget Holder          139.5     
3           Widget Opener          89.27     
4           Foobar Set             120.0     
5           Red Widget                    

Chúng ta có thể sử dụng total() chức năng để nhận tổng số giá.

SELECT total(Price) FROM Products;

Kết quả:

738.22

Mặc dù giá của hàng cuối cùng là NULL, nhưng total() hàm có thể xử lý điều đó, vì nó thêm tất cả các giá trị không phải NULL và bỏ qua giá trị NULL.

Tất cả các giá trị NULL

Nếu không có giá trị nào không phải NULL, thì kết quả là 0.0.

SELECT total(Price) 
FROM Products
WHERE ProductId = 5;

Kết quả:

0.0      

Đây là nơi total()sum() khác nhau. Trong trường hợp này, sum() sẽ trả về NULL.

total() hàm luôn trả về một giá trị dấu phẩy động.

Hãy nhớ rằng điều này không tuân theo tiêu chuẩn SQL. Nếu bạn muốn sử dụng mã tuân thủ tiêu chuẩn, hãy sử dụng sum() .

Nhận Tổng của một Tập hợp con

Đây là một ví dụ khác sử dụng WHERE mệnh đề để trả về một tập hợp con của bảng.

SELECT total(Price) 
FROM Products
WHERE ProductId > 2;

Kết quả:

209.27

Lần này, nó đang thêm các giá trị không phải NULL, vì vậy tôi nhận được kết quả không phải NULL.

Đây là một cột khác lọc theo cùng một cột mà tôi đang thêm.

SELECT total(Price) 
FROM Products
WHERE Price < 150;

Kết quả:

348.77 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tích hợp SQLCipher với greenDAO

  2. Truy vấn SQlite trong Android bằng con trỏ

  3. Tìm vi phạm khóa ngoại trong SQLite

  4. SQLite JSON_INSERT ()

  5. executeSQL () với UPDATE không cập nhật