Để có được cột thời gian trung bình, hãy sử dụng cú pháp dưới đây. Nó sẽ đưa ra mức trung bình ở định dạng thời gian -
SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(yourColumnName))) as anyVariableName from yourTableName;
Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Sau đây là truy vấn -
mysql> create table AverageOnTime −> ( −> PunchInTime time −> ); Query OK, 0 rows affected (0.61 sec)
Chèn các giá trị thời gian trong bảng bằng lệnh chèn. Truy vấn để chèn bản ghi như sau -
mysql> insert into AverageOnTime values('00:00:40'); Query OK, 1 row affected (0.20 sec) mysql> insert into AverageOnTime values('00:02:50'); Query OK, 1 row affected (0.15 sec) mysql> insert into AverageOnTime values('00:03:30'); Query OK, 1 row affected (0.13 sec) mysql> insert into AverageOnTime values('00:04:55'); Query OK, 1 row affected (0.14 sec)
Hiển thị thời gian từ bảng bằng cách sử dụng câu lệnh chọn. Truy vấn như sau -
mysql> select *from AverageOnTime;
Sau đây là kết quả -
+-------------+ | PunchInTime | +-------------+ | 00:00:40 | | 00:02:50 | | 00:03:30 | | 00:04:55 | +-------------+ 4 rows in set (0.00 sec)
Bây giờ để lấy cột thời gian trung bình, hãy sử dụng truy vấn bên dưới. Truy vấn như sau -
mysql> SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(PunchInTime))) as Average from AverageOnTime;
Sau đây là kết quả hiển thị giá trị trung bình -
+---------------+ | Average | +---------------+ | 00:02:58.7500 | +---------------+ 1 row in set (0.08 sec)