다른 열을 기준으로 그룹화하면서 MySQL에서 DATETIME 열의 평균을 얻는 방법
P粉460377540
2023-09-05 11:46:21
<p>다음 쿼리를 사용하여 MySQL 테이블을 만들고 채우고 있습니다. </p>
<pre class="brush:php;toolbar:false;">SET time_zone = '+00:00';
CREATE TABLE timestamp_n_datetime(
아이디 INT,
시간 DATETIME,
avg_time DATETIME
);
INSERT INTO timestamp_n_datetime(id,time,avg_time)
VALUES("1","2023-01-03 10:12:13", NULL),
("1", "2023-02-04 11:13:14", NULL),
("2", "2023-03-02 09:14:10", NULL),
("2", "2023-04-02 05:15:50", NULL),
("1", "2023-06-10 02:04:10", NULL);</pre>
<p>ID별로 그룹화된 '시간' 열의 평균으로 'avg_time' 열을 채우고 싶습니다. 예를 들어 첫 번째 행의 'id' = 1이므로 'avg_time' 열은 'id'도 1이므로 첫 번째, 두 번째, 다섯 번째 행의 평균을 취해야 합니다. </p>
<p>이 질문에 어떻게 답해야 할까요? </p>
<p>편집: 명확히 하기 위해 모든 DATETIME 열을 밀리초로 변환하고 모두 더한 다음 추가된 숫자로 나누고 싶습니다. 예를 들어 id=2의 경우 이를 밀리초로 변환하고 더한 다음 2로 나누면("id" = 2인 행이 두 개 있으므로) 2023년 3월 17일 오후 5시 45분의 평균이 됩니다. 이런 식으로 평균을 구하고 싶습니다. </p>
이것을 사용하여
으아악UNIX_TIMESTAMP
转换为秒,然后使用FROM_UNIXTIME
날짜/시간 형식으로 되돌리면 평균을 구하는 방법은 다음과 같습니다.평균을 채우는 방법은 다음과 같습니다.
으아악