2012-12-03 22 views
3

如何將(WITHQUERY)的結果放入新表中。將「WITHQUERY」的結果放入新表中在PostgreSql中

相關的代碼是:

WITH A as (
SELECT ambtemp,dt, 
     date_trunc('hour', dt)+ 
     CASE WHEN date_part('minute', dt) >= 30 
      THEN interval '30 minutes' 
      ELSE interval '0 minutes' 
     END as t 
FROM temm), 


B as(
SELECT ambtemp,dt, 

     max(ambtemp::float(23)) OVER (PARTITION BY t) as max_temp, 
     min(ambtemp::float(23)) OVER (PARTITION BY t) as min_temp 
FROM A) 



SELECT ambtemp,dt  
FROM B 
WHERE (max_temp - min_temp) <= 0.2 

,我需要把結果放到一個新表。

回答

3

只是用它create table語句任何其他內選擇:

create table foo 
as 
with a as (
    ... 
), b as ( 
    ... 
) 
select ambtemp,dt  
from B 
where (max_temp - min_temp) <= 0.2 

,或者,如果你已經有一個表,把它作爲一個INSERT語句來源:

insert into foo (col1, col2) 
with a as (
    ... 
), b as ( 
    ... 
) 
select ambtemp,dt  
from B 
where (max_temp - min_temp) <= 0.2 
相關問題