suchen
Fragen und Antworten So erhalten Sie den Durchschnitt der DATETIME-Spalte in MySQL beim Gruppieren nach anderen Spalten

0
<p>Ich erstelle und fülle eine MySQL-Tabelle mit der folgenden Abfrage: </p> <pre class="brush:php;toolbar:false;">SET time_zone = '+00:00'; CREATE TABLE timestamp_n_datetime ( id INT, Uhrzeit 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>Ich möchte die Spalte „avg_time“ mit dem Durchschnitt der Spalte „time“, gruppiert nach ID, füllen. Beispielsweise hat die erste Zeile „id“ = 1, daher sollte die Spalte „avg_time“ den Durchschnitt der ersten, zweiten und fünften Zeile annehmen, da deren „id“ ebenfalls 1 ist. </p> <p>Wie soll ich diese Frage beantworten? </p> <p>Bearbeiten: Zur Verdeutlichung möchte ich alle DATETIME-Spalten in Millisekunden umwandeln, sie alle addieren und dann durch die hinzugefügte Zahl dividieren. Wenn Sie beispielsweise für id=2 diese Werte in Millisekunden umrechnen, addieren und dann durch 2 dividieren (da es zwei Zeilen mit „id“ = 2 gibt), erhalten Sie den Durchschnitt für den 17. März 2023 um 17:45:00 Uhr. Ich möchte auf diese Weise den Durchschnitt ermitteln. </p>
Your Answer
einreichen

1 antwortet
0

使用此 UNIX_TIMESTAMP 转换为秒,然后使用 FROM_UNIXTIME 将其恢复为日期时间格式,这就是获取平均值的方法:

select id, FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(`time`)))
    from timestamp_n_datetime
    group by id;

这是填充平均值的方法:

update timestamp_n_datetime  td
inner join (
    select id, FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(`time`))) as average
    from timestamp_n_datetime
    group by id
) as s on s.id = td.id
set avg_time = s.average;
2023-09-06 10:33:08

einreichen

Hot Tools

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)

Laden Sie die Sammlung der Laufzeitbibliotheken herunter, die für die Installation von phpStudy erforderlich sind

VC9 32-Bit

VC9 32-Bit

VC9 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

Vollversion der PHP-Programmierer-Toolbox

Vollversion der PHP-Programmierer-Toolbox

Programmer Toolbox v1.0 PHP Integrierte Umgebung

VC11 32-Bit

VC11 32-Bit

VC11 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen