Hàm COUNT trong SQL
Hàm COUNT trong SQL được sử dụng trong lệnh SELECT để trả về số lượng hàng trong một truy vấn.
Ví dụ: Nếu bạn có một bản ghi của các chữ tri trong một vùng bầu cử và muốn biết tổng số lượng cử chi trong vùng đó, bạn có thể thực hiện đếm một cách thủ công, nếu làm theo cách này thì sẽ tốn rất nhiều công sức, có một công cụ rất hữu hiệu của SQL cho phép bạn làm việc này đó là hàm COUNT(). Bạn có thể dùng lệnh SELECT kèm với hàm COUNT để đếm số lượng cử chi với cú pháp như sau:
SELECT COUNT (column_name) FROM tables WHERE conditions;
Chú ý: Giá trị NULL sẽ không được đếm.
Cú pháp SQL COUNT(*)
Hàm COUNT(*) trả về số lượng bản ghi trong một bảng.
Cú pháp:
SELECT COUNT (*) FROM tables;
Cú pháp SQL COUNT(DISTINCT column_name)
Hàm COUNT(DISTINCT column_name) trả về số lượng các giá trị riêng biệt của cột nhất định.
Cú pháp như sau:
SELECT COUNT (DISTINCT column_name) FROM tables;
Chú ý:
COUNT(DISTINCT) hoạt động với Oracle và Microsoft SQL server nhưng không hoạt động với Microsoft Access.
Ví dụ về hàm COUNT()
Ta có bảng dữ liệu (Orders) như sau:
Order_ID | Date | Price | Customer |
1 | 2017/07/07 | 12 | An |
2 | 2017/07/13 | 11 | Minh |
3 | 2017/07/11 | 5 | Van |
4 | 2017/07/23 | 24 | Trang |
5 | 2017/07/02 | 65 | An |
6 | 2017/07/28 | 105 | Van |
Nếu chúng ta muốn lấy số lượng đơn đặt hàng của An. Sử dụng lệnh SQL sau.
SELECT COUNT(Customer) AS An FROM Orders WHERE Customer=’An’;
Kết quả trả về sẽ bao gồm hai hàng, bởi An có tổng cộng hai đơn hàng.
An |
2 |
Nếu ta muốn đếm tổng số hàng trong một bảng, dùng lệnh với cú pháp như sau.
SELECT COUNT(*) AS NumberOfOrders FROM Orders’;
Kết quả trả về sẽ như sau.
NumberOfOrders |
6 |
Giờ nếu bạn muốn đếm số lượng khách hàng riêng biệt đã đặt hàng, bạn có thể dùng lệnh với cú pháp như sau:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders’;
Kết quả trả về sẽ là 4 (An, Van, Minh, Trang).
NumberOfCustomers |
4 |