Rate this post

SQL COUNT () là một hàm trả về số lượng bản ghi của bảng trong kết quả đầu ra.

Hàm này được sử dụng với câu lệnh SQL SELECT.

Các bài viết liên quan:

Hãy lấy một ví dụ đơn giản: Nếu bạn có hồ sơ về số cử tri trong khu vực đã chọn và muốn đếm số lượng cử tri, thì rất khó thực hiện thủ công, nhưng bạn có thể thực hiện dễ dàng bằng cách sử dụng truy vấn SQL SELECT COUNT.

Cú pháp của hàm đếm chọn trong SQL

Trong cú pháp, chúng ta phải chỉ định tên của cột sau từ khóa COUNT và tên của bảng mà trên đó hàm Count sẽ được thực thi.

Ví dụ về Hàm đếm Chọn trong SQL

Trong bài viết này, chúng tôi đã lấy hai ví dụ SQL sau sẽ giúp bạn chạy hàm Count trong truy vấn:

Ví dụ 1: Trong ví dụ này, chúng ta có một bảng tên là Bike với ba cột:

Bike_NameBike_ColorBike_Cost
PulsarBlack185,000
ApacheBlackNULL
KTM RCRed90,0000
Royal EnfieldWhiteNULL
LivoBlack80,000
KTM DUKERed195,000

Giả sử, bạn muốn đếm tổng số màu xe đạp từ Bảng xe đạp. Đối với thao tác này, bạn phải viết câu lệnh SQL sau:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

TotalBikeColor
6

Đầu ra của truy vấn này là sáu vì cột Bike_Color không chứa bất kỳ giá trị NULL nào.

Giả sử, bạn muốn đếm tổng giá trị của cột Bike_Cost từ Bảng Bike ở trên. Đối với thao tác này, bạn phải viết câu lệnh sau trong SQL:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

TotalBikeCost
4

Đầu ra của truy vấn này là bốn vì hai giá trị của cột Bike_Cost là NULL và hai giá trị NULL này bị loại trừ khỏi hàm đếm. Đó là lý do tại sao truy vấn này hiển thị bốn thay vì 6 trong đầu ra.

Ví dụ 2: Trong ví dụ này, chúng ta có một bảng Employee_details với bốn cột:

Emp_IdEmp_NameEmp_SalaryEmp_City
2001Saurabh25000NULL
2002Ram29000Delhi
2003Sumit30000NULL
2004Ankit45000Goa
2005Bheem40000NULL

Giả sử, bạn muốn đếm tổng giá trị của cột Emp_City của bảng Employee_details ở trên. Đối với truy vấn này, bạn phải viết câu lệnh sau trong Ngôn ngữ truy vấn có cấu trúc:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

TotalCity
2

Đầu ra của truy vấn này là hai vì ba giá trị của cột Emp_City là NULL. Và, ba giá trị NULL này bị loại trừ khỏi hàm đếm. Đó là lý do tại sao truy vấn này hiển thị hai thay vì 5 trong đầu ra.

Chọn hàm Count (*) trong SQL

Hàm count (*) trong SQL hiển thị tất cả các bản ghi Null và Non-Null có trong bảng.

Cú pháp của hàm Count (*) trong SQL

Ví dụ về hàm Count (*) trong SQL

Trong ví dụ này, chúng ta có bảng Xe đạp sau với ba cột:

Bike_NameBike_ColorBike_Cost
LivoBlack185,000
ApacheRedNULL
PulsarRed90,0000
Royal EnfieldBlackNULL
KTM DUKEBlack80,000
KTM RCWhite195,000

Giả sử, bạn muốn đếm tổng số bản ghi từ Bảng xe đạp. Đối với điều kiện này, bạn phải viết câu lệnh sau trong Ngôn ngữ truy vấn có cấu trúc:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

Count(*)
6

Hàm Count () trong SQL với mệnh đề WHERE

Chúng ta cũng có thể sử dụng hàm Count () với mệnh đề WHERE. Hàm Đếm với mệnh đề WHERE trong câu lệnh SELECT hiển thị những bản ghi phù hợp với tiêu chí đã chỉ định.

Cú pháp của hàm Count () Với mệnh đề WHERE trong SQL

Ví dụ về hàm đếm với mệnh đề WHERE trong SQL

Hai ví dụ sau sẽ giúp bạn chạy hàm Đếm với mệnh đề WHERE trong truy vấn SQL:

Ví dụ 1: Trong ví dụ này, chúng ta có bảng Xe đạp sau với ba cột:

Bike_NameBike_ColorBike_Cost
ApacheBlack90,0000
LivoBlackNULL
KTM RCRed185,000
KTM DUKEWhiteNULL
Royal EnfieldRed80,000
PulsarBlack195,000

Giả sử, bạn muốn đếm tổng số xe đạp có màu đen. Đối với điều này, bạn phải nhập câu lệnh sau trong SQL:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

TotalBikeBlackColor
3

Ví dụ 2: Trong ví dụ này, chúng ta có một bảng Employee_details với bốn cột:

Emp_IdEmp_NameEmp_SalaryEmp_City
2001Bheem30000Jaipur
2002Ankit45000Delhi
2003Sumit40000Delhi
2004Ram29000Goa
2005Abhay25000Delhi

Giả sử, bạn muốn đếm tổng số nhân viên thuộc thành phố Delhi. Đối với điều này, bạn phải viết câu lệnh SQL sau:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

TotalEmpCity
3

Hàm đếm trong SQL với từ khóa DISTINCT

Lệnh DISTINCT và COUNT trong SQL được sử dụng chung để đếm các record trong database với kết quả không trùng nhau.

Từ khóa DISTINCT với hàm COUNT chỉ hiển thị số lượng hàng duy nhất của cột.

Cú pháp của hàm đếm với từ khóa DISTINCT trong SQL

Ví dụ về hàm đếm với từ khóa DISTINCT trong SQL

Hai ví dụ sau sẽ giúp bạn cách chạy hàm Count với từ khóa DISTINCT trong truy vấn SQL:

Ví dụ 1:

Trong ví dụ này, chúng tôi đã lấy bảng Cars sau với ba cột:

Car_NameCar_ColorCar_Cost
i20White10,85,000
Hyundai VenueBlack9,50,000
Swift DezireRed9,00,000
Hyundai CretaWhite7,95,000
Kia SeltosWhite8,00,000
Kia SonetRed10,00,000

Giả sử, bạn muốn đếm các màu độc đáo của một chiếc ô tô từ bảng trên. Đối với truy vấn này, bạn phải viết câu lệnh dưới đây trong SQL:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

Unique_Car_Color
3

Kết quả đầu ra của truy vấn này là ba vì có ba giá trị duy nhất của ô tô.

Ví dụ 2:

Trong ví dụ này, chúng tôi đã lấy một bảng Nhân viên với bốn cột:

Emp_IdEmp_NameEmp_SalaryEmp_City
2001Sumit25000Jaipur
2002Ram45000Delhi
2003Bheem25000Delhi
2004Ankit29000Goa
2005Abhay40000Delhi

Giả sử, bạn muốn đếm các giá trị duy nhất của Emp_Salaryfield từ bảng Employee_details. Đối với điều này, bạn phải viết câu lệnh sau trong Ngôn ngữ truy vấn có cấu trúc:

Truy vấn này sẽ hiển thị kết quả sau trên màn hình:

Unique_Salary
4

Xem thêm Web SQL là gì?

Các câu hỏi phổ biến về SELECT COUNT trong SQL

  1. SELECT COUNT(*) và SELECT COUNT(column) khác nhau như thế nào?
  • SELECT COUNT(*) trả về số lượng bản ghi trong bảng, bao gồm cả các bản ghi có giá trị NULL.
  • SELECT COUNT(column) trả về số lượng bản ghi trong bảng với giá trị của cột được chỉ định khác NULL.
  1. SELECT COUNT(*) và SELECT COUNT(1) khác nhau như thế nào?
  • SELECT COUNT(*) và SELECT COUNT(1) đều trả về số lượng bản ghi trong bảng.
  • Tuy nhiên, việc sử dụng SELECT COUNT(1) được coi là tốt hơn vì nó sẽ tiết kiệm một chút tài nguyên hệ thống, do không cần phải tìm kiếm tất cả các cột trong bảng.
  1. SELECT COUNT(column) và SELECT COUNT(DISTINCT column) khác nhau như thế nào?
  • SELECT COUNT(column) trả về số lượng bản ghi trong bảng với giá trị của cột được chỉ định khác NULL.
  • SELECT COUNT(DISTINCT column) trả về số lượng giá trị duy nhất của cột được chỉ định trong bảng.
  1. Làm thế nào để đếm số lượng bản ghi trong nhiều bảng?
  • Có thể sử dụng câu lệnh SELECT COUNT(*) hoặc SELECT COUNT(column) cùng với các câu lệnh JOIN để đếm số lượng bản ghi trong nhiều bảng.
  1. Có thể sử dụng SELECT COUNT(*) với điều kiện WHERE được không?
  • Có, SELECT COUNT(*) có thể được sử dụng với điều kiện WHERE để đếm số lượng bản ghi thỏa mãn điều kiện.
  1. Có thể đặt tên cho cột được trả về bởi câu lệnh SELECT COUNT(*) được không?
  • Có, có thể đặt tên cho cột được trả về bằng cách sử dụng mệnh đề AS trong câu lệnh SELECT COUNT(*).
  1. Có thể sử dụng SELECT COUNT(*) để đếm số lượng bản ghi trong một phạm vi nhất định được không?
  • Có, SELECT COUNT(*) có thể được sử dụng để đếm số lượng bản ghi trong một phạm vi nhất định bằng cách sử dụng mệnh đề WHERE để chỉ định phạm vi đó.
  1. Làm thế nào để đếm số lượng bản ghi trong một nhóm được chỉ định?
  • Để đếm số lượng bản ghi trong một nhóm được chỉ định, ta có thể sử dụng câu lệnh COUNT(*) cùng với câu lệnh GROUP BY.
  1. SELECT COUNT(*) trả về giá trị là kiểu dữ liệu gì?
  • SELECT COUNT(*) trả về kiểu dữ liệu INTEGER hoặc BIGINT, tùy thuộc vào cơ sở dữ liệu được sử dụng.
  1. Có bao nhiêu bản ghi tối đa mà SELECT COUNT(*) có thể đếm được trong một lần thực thi?
  • Số lượng bản ghi tối đa mà SELECT COUNT(*) có thể đếm được trong một lần thực thi phụ thuộc vào cấu hình của cơ sở dữ liệu và tài nguyên hệ thống. Trong nhiều cơ sở dữ liệu phổ biến, giới hạn tối đa là 2 tỷ bản ghi.
  1. Làm thế nào để đếm số lượng bản ghi trùng lặp trong SQL?
  • Để đếm số lượng bản ghi trùng lặp trong SQL, ta có thể sử dụng câu lệnh SELECT COUNT(*) cùng với câu lệnh GROUP BY và HAVING để lọc các bản ghi trùng lặp. Ví dụ:

SELECT column, COUNT() as count FROM table GROUP BY column HAVING COUNT() > 1;

Câu lệnh trên sẽ đếm số lượng bản ghi trùng lặp trong cột “column” của bảng “table”.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now