[英]Make a new table in DB to extract data from an already existing large table
我正在使用一個數據庫,該數據庫大約有2年的數據,大約有1億行和30列,每10秒具有不同參數的值。 我想創建一個新表,該表的每個數據的平均日期僅包含1行。 該數據庫每個日期大約有100 000行。 表名是進程,主鍵是id
我該怎么做,因為每當我在此現有表中搜索某些內容時,就會花很長時間才能找到所需的輸出。
是否有可能創建一個新表,該表將獲取單個日期的所有數據(約10萬行)的平均值,並將其放在一行中
您想要類似的東西:
CREATE TABLE averages AS
SELECT
date_trunc('day', data_capture_timestamp_column) AS day,
avg(col1) AS col1_avg,
avg(col2) AS col2_avg,
...
FROM my_table
GROUP BY 1;
GROUP BY 1
通過第一個SELECT
參數對GROUP
表示數據,在這種情況下為日期。 建議在my_table( date_trunc('day', data_capture_timestamp_column))
上使用表達式索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.