2014-03-24 26 views
0

我有以下查询:使用mysql select将数据放入另一个表中?

use datafeeds; 
select date, speed, dir from weather 
where date >= DATE_SUB(NOW(),INTERVAL 1 DAY); 

它选择这样的数据:

date     speed dir   
2014-03-23 19:33:00 100  e 
2014-03-23 19:38:00 26  se 
2014-03-23 19:43:01 37  e 
2014-03-23 19:48:01 93  sw 
2014-03-23 19:53:01 47  nne 
2014-03-23 19:58:01 81  n 
2014-03-23 20:03:00 28  s 
2014-03-23 20:08:00 12  nw 

我想修改这个让每个风向的数据被输入到它自己的表。我需要这个来创建玫瑰图。

因此,我将有16桌,就像一个叫wind_e用(日期,速度) 在wind_e

date     speed    
2014-03-23 19:33:00 100  
2014-03-23 19:43:01 37  

回答

1

要插入到wind_e表使用此

insert into wind_e (date,speed) 
    select date, speed from weather 
    where dir = 'e' 
    AND date >= DATE_SUB(NOW(),INTERVAL 1 DAY) 

wind_nwind_n等其他表...

+0

好的谢谢。我认为可能有一个花哨的单行sql代码,可能已经完成了这项工作:) – Greg

+0

你欢迎:)“。 –

1

你可以从选择一个插入:

尝试:

use datafeeds; 
insert into other_table (date,speed,dir) 
select date, speed, dir from weather 
where date >= DATE_SUB(NOW(),INTERVAL 1 DAY); 
+0

我想根据风向将数据放到16个不同的表中。我是否需要创建16个不同的语句并为每个语句使用类似的语句来确定要将哪些数据放入表中? – Greg

+0

如果您有16个不同的表来存储数据,您将不得不决定在运行时要存储哪一个表,请尝试使用CASE WHEN。请参阅https://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html – abfurlan

相关问题