Hàm tính giá trung bình trong sql năm 2024

Hàm AVG trong Sql dùng để tính trung bình cộng của kết quả trả về. Đây là một trong các hàm căn bản của SQL, bài viết này SmartData sẽ hướng dẫn các bạn cách cú pháp và một số ví dụ thực tế với hàm này nhé.

Cú pháp

SELECT AVG(Biểu_thức) FROM Tên_bảng

Tham số truyền vào gồm 2 thông tin

  • Biểu thức trong hàm avg: Thông thường sẽ là tên cột hoặc giá trị *
  • Tên_bảng: Tên bảng mà bạn đang muốn thực hiện truy vấn

Hãy cùng xem xét các ví dụ dưới đây để hiểu hơn về hàm AVG. Ta sẽ sử dụng bảng USERS dưới đây làm bảng dữ liệu xuyến suốt các ví dụ

+----+----------+-----------+-----------+ | ID | NAME | SALARY | MONTH | +----+----------+-----------+-----------+ | 1 | kien | 1000 | 1 | | 2 | ngoc | 1000 | 1 | | 3 | nghia | 3000 | 1 | | 4 | trang | 2000 | 2 | | 5 | ngoc | 2000 | 2 | +----+----------+-----------+-----------+

Ví dụ 1: Sử dụng hàm AVG trong SQL với 1 cột

Các hàm tổng hợp như AVG() có thể được sử dụng như một cột duy nhất trong truy vấn SELECT. Ví dụ:

SELECT AVG(SALARY) as avg FROM USERS;

Đây là kết quả:

+--------+ | AVG | +--------+ | 2000 | +--------+

Ở đây chúng ta không sử dụng điều kiện tìm kiếm tức là truy vấn sẽ trả về tất cả các bản ghi đang có trong bảng USERS.

Xem thêm bài viết tìm tổng các giá trị trong cột tại đây.

Ví dụ 2: Sử dụng hàm AVG trong SQL với GROUP BY

AVG có thể được sử dụng như là một aggregate functions khi đi kèm với GROUP BY.

SELECT NAME. AVG(SALARY) as LUONG_TRUNG_BINH FROM USERS GROUP BY NAME;

Dữ liệu trả về sẽ như sau:

+--------+---------------------+ | NAME | LUONG_TRUNG_BINH | +--------+---------------------+ | kien | 1000 | | nghia | 3000 | | ngoc | 2000 | | trang | 2000 | +--------+---------------+

Đầu tiên là từ khóa SELECT với tên cột(NAME), sau đó là hàm AVG() với giá cột làm đối số. Sau đó, chúng ta có LUONG_TRUNG_BINH, bí danh của cột mới được tạo bởi AVG().

Tiếp theo là từ khóa FROM và tên bảng. Ở cuối, chúng ta có mệnh đề GROUP BY với cột NAME. Điều này xác định các nhóm (tức là những cá nhân được nhóm theo tên). Đối với mỗi nhóm, chúng ta nhận được giá trị trung bình của cột SALARY

Ví dụ 3: Dùng AVG trong SQL với mệnh đề HAVING

Một cách khác để sử dụng AVG() là lọc các hàng theo giá trị được trả về bởi hàm này – tức là trong mệnh đề HAVING.

Hãy cùng xem câu truy vấn sau đây:

SELECT NAME. AVG(SALARY) as LUONG_TRUNG_BINH FROM USERS GROUP BY NAME HAVING LUONG_TRUNG_BINH > 2000;

Và kết quả trả về như sau:

+--------+---------------------+ | NAME | LUONG_TRUNG_BINH | +--------+---------------------+ | nghia | 3000 | +--------+---------------------+

Trong câu SELECT phía trên, chúng ta có cột NAME. tiếp theo là hàm AVG(). Đối với mỗi NAME nhận được, giá trị trung bình theo cột SALARY. Sau FROM là tên bảng USERS đi kèm với mệnh đề GROUP BY với cột NAME.

Cuối truy vấn là mệnh đề HAVING với hàm AVG(). Đoạn này sẽ cho phép lọc ra các nhân viên có lương trunh bình lớn hơn 2000

Tạm kết

Như vậy SmartData đã cùng các bạn đi qua 3 ví dụ khá quen thuộc khi sử dụng cùng với hàm AVG trong sql. Hi vọng bài viết này phần nào mang lại lợi tích cho các bạn trong công việc.

Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa:

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm AVG trong SQL Server thông qua cú pháp và ví dụ thực tế. Bài viết này được đăng tại greensql.net, không được copy dưới mọi hình thức.

1. Mô tả

Hàm AVG trả về giá trị trung bình của một biểu thức.

2. Cú pháp

Cú pháp của hàm AVG trong SQL Server (Transact-SQL) là:

?123SELECT AVG(aggregate_expression)FROM tables[WHERE conditions];

Hoặc

?12345SELECT expression1, expression2, … expression_n, AVG(aggregate_expression)FROM tables[WHERE conditions]GROUP BY expression1, expression2, … expression_n;

‒‒:‒‒/‒‒:‒‒ Skip Trong đó:

expression1, expression2, … expression_n: Các biểu thức không được gói gọn trong hàm AVG và phải được bao gồm trong mệnh đề GROUP BY ở cuối câu lệnh SQL. aggregate_expression: Đây là cột hoặc biểu thức sẽ được tính trung bình. tables: Các bảng mà bạn muốn lấy dữ liệu. Phải có ít nhất một bảng được liệt kê trong mệnh đề from. where conditions: Không bắt buộc. Đây là những điều kiện phải được đáp ứng cho các dữ liệu được chọn.

3. Version

Hàm AVG có thể được sử dụng trong các phiên bản sau của SQL Server (Transact-SQL):

SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

4. Ví dụ

?123SELECT AVG(diem) AS “Diem Trung Binh”FROM KetQuaWHERE upper(tenmonhoc) = upper(‘toan’);
SyntaxHighlighter.config.stripBrs = false; SyntaxHighlighter.config.tagName = “pre”; SyntaxHighlighter.defaults[“gutter”] = true; SyntaxHighlighter.all();

Xem thêm:

  • Hàm CONCAT trong SQL Server
  • Hàm LOWER trong SQL Server
  • Hàm GETDATE trong SQL Server
  • Hàm MIN trong SQL Server
  • Cơ sở dữ liệu là gì? Tìm hiểu về cơ sở dữ liệu ứng dụng trong SEO Website

Bài viết cùng chủ đề:

  • Hàm LTRIM trong SQL Server

  • #### Hàm NCHAR trong SQL Server
  • #### Hàm PATINDEX trong SQL Server
  • #### Hàm REPLACE trong SQL Server
  • #### Hàm RIGHT trong SQL Server
  • #### Hàm RTRIM trong SQL Server
  • #### Hàm SPACE trong SQL Server
  • #### Hàm STR trong SQL Server
  • #### Hàm UPPER trong SQL Server
  • #### Hàm CHARINDEX trong SQL Server
  • #### Hàm SUBSTRING trong SQL Server
  • #### Hàm CONCAT trong SQL Server
  • #### Hàm STUFF trong SQL Server
  • #### Hàm + trong SQL Server
  • #### Hàm ABS trong SQL Server
  • #### Hàm DATALENGTH trong SQL Server

Hàm tính giá trung bình trong sql năm 2024

Tốt nghiệp Graduated Windesheim 2020, top Đại học lớn nhất thế giới, tôi mở blog chia sẻ kiến thức, kinh nghiệm về SQL