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

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

SQLite count() có thể được sử dụng để trả về số hàng trong một tập kết quả.

Nó cũng có thể được sử dụng để trả về số lần một cột nhất định không phải là NULL trong tập kết quả.

Nó có thể được sử dụng theo hai cách. Nếu bạn nhập dấu hoa thị (* ) ký tự đại diện, nó sẽ trả về tổng số hàng trong nhóm. Nếu bạn cung cấp tên của một cột, nó sẽ trả về số lần cột đó không phải là NULL.

Cú pháp

Cú pháp như sau:

count(X)
count(*)

Vì vậy, trong trường hợp này, X có thể là tên của một cột và dấu hoa thị (* ) ký tự đại diện được sử dụng để chỉ định tổng số hàng trong nhóm.

Ví dụ:count (*)

Dưới đây là một ví dụ cơ bản để minh họa cú pháp dấu hoa thị (*) để trả về số hàng trong bảng.

SELECT count(*) FROM Customer;

Kết quả:

59

Tôi đã chạy truy vấn này trên cơ sở dữ liệu mẫu Chinook và do đó, kết quả là có 59 hàng trong Khách hàng bảng.

Ví dụ:count (X)

Trong ví dụ này, tôi chuyển tên của một cột cụ thể của bảng.

SELECT count(Fax) FROM Customer;

Kết quả:

12

Trong trường hợp này, Fax cột có 12 giá trị không phải NULL.

Nói cách khác, 47 hàng chứa giá trị NULL trong Fax cột.

Sử dụng mệnh đề WHERE

Kết quả của count() được tính sau bất kỳ WHERE nào mệnh đề.

SELECT count(Fax) 
FROM Customer 
WHERE CustomerId <= 5;

Kết quả:

2

Trong trường hợp này, chỉ có hai giá trị không phải NULL trong Fax trong tập kết quả.

Đây là kết quả trông như thế nào với các cột được trả về (và không sử dụng count() chức năng).

SELECT CustomerId, Fax 
FROM Customer 
WHERE CustomerId <= 5;

Kết quả:

CustomerId  Fax               
----------  ------------------
1           +55 (12) 3923-5566
2                             
3                             
4                             
5           +420 2 4172 5555  

Vì vậy, chúng ta có thể thấy rằng chỉ hàng 1 và 5 có giá trị không phải NULL trong Fax cột.

Sử dụng điều khoản LIMIT

Kết quả không được tính sau bất kỳ LIMIT nào mệnh đề.

SELECT count(Fax) 
FROM Customer 
LIMIT 5;

Kết quả:

12

Nhưng bạn có thể làm điều gì đó như sau:

SELECT count(Fax) 
FROM (SELECT Fax FROM Customer 
LIMIT 5);

Kết quả:

2

Kết quả được nhóm

Một trường hợp sử dụng hữu ích cho count() là sử dụng nó cùng với GROUP BY để trả về nhiều hàng - mỗi hàng đại diện cho một nhóm - với số lượng các hàng trong nhóm đó.

Đây là một ví dụ.

SELECT 
  ar.Name, 
  count(al.Title)
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
WHERE ar.Name LIKE 'D%'
GROUP BY ar.Name
LIMIT 10;

Kết quả:

Name             count(al.Title)
---------------  ---------------
David Coverdale  1              
Deep Purple      11             
Def Leppard      1              
Dennis Chambers  1              
Djavan           2              
Dread Zeppelin   1              

Từ khóa DISTINCT

Bạn có thể thêm DISTINCT từ khóa để chỉ đếm các giá trị riêng biệt. Nói cách khác, bạn có thể loại bỏ các giá trị trùng lặp trong phép tính.

Đối với các ví dụ về điều này, hãy xem Cách loại bỏ các bản sao khỏi kết quả SQLite Count ().


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite TỒN TẠI

  2. Logcat cho biết dữ liệu cột không hợp lệ1

  3. Khi nào phương thức SQLiteOpenHelper onCreate được gọi?

  4. nullvalue:Hiển thị giá trị NULL trong SQLite

  5. Android - Hiển thị tên người dùng từ cơ sở dữ liệu sqlite sau khi đăng nhập vào textView