Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để chọn mức trung bình từ cột riêng biệt của bảng?

Để lấy điểm trung bình, hãy sử dụng AVG () và sử dụng nó với DISTINCT để tính toán từ các bản ghi riêng biệt. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1934
   (
   StudentName varchar(20),
   StudentMarks int
   );
Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1934 values('Chris',56);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1934 values('Chris',56);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1934 values('David',78);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1934 values('David',78);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1934 values('Carol',45);
Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1934;

Điều này sẽ tạo ra kết quả sau -

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       |           56 |
| Chris       |           56 |
| David       |           78 |
| David       |           78 |
| Carol       |           45 |
+-------------+--------------+
5 rows in set (0.00 sec)

Đây là truy vấn để chọn mức trung bình từ cột riêng biệt của bảng -

mysql> select avg(tbl.StudentMarks)
   from
   (
   select distinct StudentName,StudentMarks
   from DemoTable1934
   ) as tbl;

Điều này sẽ tạo ra kết quả sau -

+-----------------------+
| avg(tbl.StudentMarks) |
+-----------------------+
|               59.6667 |
+-----------------------+
1 row in set (0.00 sec)