Sinh viên có điểm trung bình cao nhất trong sql

Hiển thị tất cả sinh viên có địa chỉ ở Đà Nẵng. Gồm Mã SV, Tên SV, Tuổi

(Tuổi được tính dựa vào năm sinh và năm hiện tại), Giới tính (Trong cơ sở

dữ liệu chỉ lưu 0, 1 chuyển qua Nam, Nữ).

  • Triết học 1 - Phần đầu lý thuyết triết học
  • Nội dung thuyết trình - Nội dung thuyết trình
  • BT Thảo luận Vận dụng mối quan hệ giữa vật chất và ý thức để lý giải một vấn đề của thực tiễn
  • SP 1031 - Báo cáo Kqlvn và BĐ BT,BTL
  • BAO CAO Nhiem VU NHOM 14-DT 16
  • CHU DE 2 - khong co thi tai ve ma soan suon cho de

Preview text

Chú ý: Tính điểm trung theo điểm lần 1.

  • Viết câu lênh SQL để tạo CSDL như trên.
  • Viết câu lệnh SQL để nhập dữ liệu cho các bảng trên.
  • Hiển thị điểm thi lần 1 của sinh viên có mã sv là SV01.
  • Hiển điểm thi lần 2 của tất cả sinh viên có tên là Anh.
  • Hiển thị tất cả những sinh viên chưa học môn nào.
  • Xóa tất cả những môn học chưa có sinh viên học.
  • Hiển thị tất cả sinh viên có địa chỉ ở Đà Nẵng. Gồm Mã SV, Tên SV, Tuổi (Tuổi được tính dựa vào năm sinh và năm hiện tại), Giới tính (Trong cơ sở dữ liệu chỉ lưu 0, 1 chuyển qua Nam, Nữ).
  • Bổ sung cột điểm trung bình vào câu 7.
  • Hiển thị tất cả sinh viên có tên lớp là K26TPM gồm: MaSV, Ten SV, DTB.
  • Cập nhật tất cả điểm lần 2 của sinh viên lớp K19TPM lên 0,2 điểm.
  • Tính điểm trung bình chung theo môn học gồm: Mã môn học, Tên MH, điểm trung bình.
  • Hiển thị sỉ số sv từng lớp gồm, Malop, Tenlop, Siso.
  • Hiển thị hai sinh viên có điểm trung bình cao nhất của lớp K19TPM
  • Hiển thị danh sách sinh viên do giáo viên A cố vấn.

Hiển thị thông tin sinh viên của lớp K19TPM gồm: Masv, Tên SV, Giới tính (Nam, Nữ), Tuổi, Điểm trung bình, kết quả. Trong đó kết quả dựa vào điểm trung bình. Nếu DTB>=5 thì đậu ngược lại thì rớt.  Gợi ý: cột kết quả viết như sau: case when sum(diemlan1*sotc)/sum(sotc) <5 N’rớt’ then else ‘đậu’ end as ketqua

AVG trong SQL Server là gì? Cách dùng hàm AVG trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Nếu đang tìm hiểu ngành nghề nào được “săn đón” nhất hiện nay, nhất định bạn sẽ nhận được nhiều câu trả lời về lập trình. Đây là cái nôi cho sự ra đời của rất nhiều sản phẩm, ứng dụng, trang web… khiến cuộc sống của con người trở nên thú vị hơn.

Thế giới lập trình vô cùng đa dạng và phong phú với nhiều ngôn ngữ khác nhau. Bạn không nhất thiết phải nắm vững tất cả, chỉ cần gắn liền với những lựa chọn phù hợp nhất. Tuy nhiên, nhất định cần biết về SQL Server.

SQL Server là một phương thức mà bất kỳ ai làm lập trình cũng cần biết. Giống như Python, SQL Server có rất nhiều hàm với chức năng khác nhau. Bạn cần hiểu rõ về chúng để sử dụng SQL Server thật tốt.

Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý số AVG() trong SQL Server với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.

Hàm AVG() trong SQL Server là gì?

Hàm tính trung bình trong SQL Server là một phần của hàm tổng hợp. Hàm này được dùng để tính giá trị trung bình của một biểu thức. Hàm này bỏ qua các giá trị NULL. Tuy nhiên, khi tập kết quả không có bất kỳ hàng nào, nó trả về NULL. Hàm tính trung bình SQL Server luôn được dùng với lệnh SELECT. Hàm này chỉ chấp nhận một tham số, có thể là cột hoặc một biểu thức hợp lệ và trả về một kết quả đơn lẻ để tóm tắt tập dữ liệu nhập vào. Nó cũng có thể hoạt động với mệnh đề WHERE, GROUP BY, ORDER BY và HAVING để cho kết quả được lọc.

Đặc điểm nổi bật của hàm AVG() trong SQL Server

  • Hàm này được dùng để tìm giá trị trung bình của biểu thức cụ thể.
  • Hàm này nằm trong các hàm số.
  • Hàm này chỉ chấp nhận một tham số, đó là biểu thức.
  • Hàm này bỏ qua các giá trị NULL.

Công thức:

AVG(expression)

Ví dụ mẫu cơ bản:

CREATE TABLE product
(
user_id int IDENTITY(100, 2) NOT NULL,
product_1 VARCHAR(10),
product_2 VARCHAR(10),
price int
);
INSERT product(product_1, price)
VALUES ('rice', 400);
INSERT product(product_2, price)
VALUES ('grains', 600);
SELECT AVG(price) FROM product;

Kết quả: 50

Giờ hãy cùng Quantrimang.com xem xét một giá trị thực tế:

Để tính giá trị trung bình, ta sử dụng hàm AVG trong SQL Server cú pháp như sau:

SELECT AVG(cot) FROM bang [WHERE dieukien];

Tham số:

  • cot: cột hoặc giá trị tính toán, biểu thức mà bạn muốn tính trung bình
  • bang: bảng dùng để lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
  • dieukien: tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được chọn.

Lưu ý:

  • Hàm AVG có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem và khám phá một số ví dụ về hàm AVG trong SQL Server.

Giả sử, ta có bảng dữ liệu như sau:

Sinh viên có điểm trung bình cao nhất trong sql

Ví dụ 1: Tính số lượng số bài viết trung bình của website Quantrimang

SELECT AVG(Sobai) AS "So bai trung binh" FROM Quantrimang WHERE Sobai > 100;

Result: So bai trung binh 128.2

Ở ví dụ này ta tính giá trị trung bình cho tất cả các giá trị có trong dữ liệu cần tính, nên kết quả trung bình được tính như sau, lấy tổng của cột Sobai sau đó chia cho tổng số dòng có dữ liệu khác rỗng có giá trị lớn hơn 100.

Ví dụ 2: Sử dụng DISTINCT

SELECT AVG(DISTINCT Sobai) AS "So bai trung binh" FROM Quantrimang WHERE Sobai > 100;

Result: So bai trung binh 135

Ví dụ này dùng từ khóa DISTINCT, nên những giá trị lặp lại chỉ được tính một lần. Trong bảng dữ liệu cho trước, giá trị “101” xuất hiện 2 lần, nhưng chỉ được tính một lần, cho nên tổng số dòng được tính sẽ là 4, kết quả trung bình được tính như sau:

(152 + 101 + 122 + 165)/4 = 135

Ví dụ 3: Tính giá trị trung bình theo cột được chỉ định của các dòng được chọn

Để tính giá trị trung bình theo cột được chỉ định của các dòng được chọn, ta sử dụng mệnh đề GROUP BY.

Ví dụ sau tính giá trị trung bình của tất cả bản ghi liên quan tới một chuyên mục lớn và bạn sẽ thực hiện như sau:

SELECT Chuyenmuclon, AVG(Sobai) AS "So bai trung binh" FROM Quantrimang GROUP BY Chuyenmuclon;

Result: Chuyenmuclon So bai trung binh Laptrinh 108 Mang xa hoi 158.5 Trinh duyet web 94

Ví dụ 4: Hàm AVERAGE với mệnh đề HAVING

SQL Server dùng mệnh đề HAVING để lọc các hàng theo nhóm, mệnh đề này luôn cần tới GROUP BY để cho kết quả. Ví dụ bên dưới sẽ dùng mệnh đề HAVING với hàm AVG(). Nó tính trung bình giờ làm việc của nhân viên ở mỗi ngành nghề, sau đó kiểm tra hàm tổng hợp này xem nó có lớn hơn 10 hay không. Nếu đúng, kết quả tương ứng trả về thứ tự tăng dần của giá trị trung bình được tổng hợp:

SELECT occupation, AVG(working_hours) AS "Average Working Hours"
FROM employee_info
GROUP BY occupation
HAVING AVG(working_hours)>10
ORDER BY AVG(working_hours);

Kết quả:

Chạy lệnh này sẽ trả về số giờ làm việc trung bình của nhân viên lớn hơn 10 theo từng công việc:

Sinh viên có điểm trung bình cao nhất trong sql

Hàm AVERAGE với ORDER BY

SQL Server dùng mệnh đề ORDER BY để phân loại bảng theo thứ tự tăng hoặc giảm dần. Ví dụ bên dưới sẽ dùng hàm AVG() với mệnh đề ORDER BY, tính giờ làm việc trung bình của nhân viên theo từng vị trí, rồi phân loại nhóm kết quả theo thứ tự giảm dần của giá trị trung bình được tổng hợp: