1
我正在使用mysql數據庫來存儲大量的衛星數據,並且這些數據集有很多數據間隙。 我想用這個點的1小時(或更少)的平均值替換NULL值。 到目前爲止,我已經找到了如何與先前已知值替換NULL值:MYSQL QUERY用平均值替換一行中的NULL值
UPDATE mytable
SET number = (@n := COALESCE(number, @n))
ORDER BY date;
從這個帖子:
我的表看起來像
+---------------------+--------+
| date | P_f |
+---------------------+--------+
| 2001-01-01 20:20:00 | 1.88 |
| 2001-01-01 20:25:00 | NULL |
| 2001-01-01 20:30:00 | NULL |
| 2001-01-01 20:35:00 | 1.71 |
| 2001-01-01 20:40:00 | NULL |
| 2001-01-01 20:45:00 | NULL |
| 2001-01-01 20:50:00 | NULL |
| 2001-01-01 20:55:00 | 1.835 |
| 2001-01-01 21:00:00 | 1.918 |
| 2001-01-01 21:05:00 | 1.968 |
| 2001-01-01 21:10:00 | 2.004 |
| 2001-01-01 21:15:00 | 1.924 |
| 2001-01-01 21:20:00 | 1.8625 |
| 2001-01-01 21:25:00 | 1.94 |
| 2001-01-01 21:30:00 | 2.0375 |
| 2001-01-01 21:35:00 | 1.912 |
我想用該日期時間內的平均值替換NULL值。 比如我想更換,
| 2001-01-01 20:50:00 | NULL |
平均周圍
select AVG(P_f) from table where date between '2001-01-01 20:30' and '2001-01-01 21:10';
保羅
它是一次性操作嗎? – newtover 2012-01-11 09:19:04
@ newtover,是的。湯姆麥克的解決方案是現貨。感謝您的關注。 - 保羅 – Paulten 2012-01-11 12:43:53