Chủ Nhật, 19 tháng 9, 2021

Hàm Hàm COUNT trong Oracle

Trong bài này chúng ta sẽ tìm hiểu hàm COUNT trong Oracle.

Hàm COUNT dùng để đếm số lượng records trả về của một biểu thức, và thường được sử dụng trong câu lệnh Select để đếm tổng số record của table.

Mục lục

  • 1. Hàm COUNT trong Oracle
    • Cú pháp
    • Return
    • Version
  • 2. Ví dụ hàm COUNT trong Oracle
  • 3. Hàm COUNT kết hợp Group By

1. Hàm COUNT trong Oracle

Sau đây là cú pháp và cách sử dụng hàm COUNT.

Cú pháp

1
2
3
SELECT COUNT(aggregate_expression)
FROM tables
[WHERE conditions];

Trong đó:

  • aggregate_expression là tên của field cần đếm.
  • tables là những bảng cần đếm.
  • WHERE conditions là điều kiện lọc dữ liệu.

Return

Trả về một số tự nhiên, đó chính là số đếm của tổng các record thỏa điều kiện của câu lệnh SQL.

Version

Hàm này sử dụng được ở các phiên bản sau:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

2. Ví dụ hàm COUNT trong Oracle

Sau đây là một vài ví dụ, các bạn tham khảo để hiểu rõ hơn nhé.

Ví dụ 1:  Đếm tổng số sinh viên đang học khóa CNTT.

1
2
3
SELECT COUNT(student_id) AS total
FROM students
WHERE department = 'CNTT'

Ví dụ 2: Đếm tổng số nhân viên có mức lương lớn hơn 5.000.000đ.

1
2
3
SELECT COUNT(employee_id) AS total
FROM employees
WHERE salary > '5000000'

Lưu ý:

  • Với những giá trị NULL thì mặc định hàm COUNT sẽ không đếm.
  • Bạn truyền vào * nếu muốn đếm tất cả các field.

Nếu bạn muốn đếm và loại bỏ dữ liệu bị trùng thì hãy dùng từ khóa DISTINCT.

Ví dụ 3: Đếm tổng số phòng ban có nhân viên có lương lớn hơn 10.000.000đ / tháng.

Với ví dụ này thì mình sẽ đếm trong bảng employee, bảng này có mã phòng ban nên chỉ cần COUNT UNIQUE mã phòng ban là được.

1
2
3
SELECT COUNT(DISTINCT department_id) AS "Department Unique"
FROM employees
WHERE salary > 10000000;

3. Hàm COUNT kết hợp Group By

Hàm COUNT sử dụng rất hay trong Group By, và hay như thế nào thì chúng ta cùng xem ví dụ dưới đây.

Đề bài: Hãy đếm tổng số nhân viên của từng phòng ban.

Giả sử ta có hai bảng đó nhà:

  • NHANVIEN (MANHANVIEN | TENNHANVIEN | MAPHONGBAN)
  • PHONGBAN (MAPHONGBAN, TENPHONGBAN)

Trong đó MAPHONGBAN là khóa ngoại của bảng NHANVIEN. Câu truy vấn cuối cùng cua chúng ta như sau:

1
2
3
SELECT COUNT(MANHANVIEN) AS "TONG NHAN VIEN", TENPHONGBAN, MAPHONGBAN
FROM NHANVIEN NV JOIN PHONGBAN PB ON NV.MAPHONGBAN = PB.MAPHONGBAN
GROUP BY NV.MAPHONGBAN

Câu truy vấn này sẽ trả về danh sách số lượng nhân viên của từng phòng ban.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master