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