Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数据库中创建一个新表,以从现有的大型表中提取数据_C#_Sql_Postgresql_Pgadmin - Fatal编程技术网

C# 在数据库中创建一个新表,以从现有的大型表中提取数据

C# 在数据库中创建一个新表,以从现有的大型表中提取数据,c#,sql,postgresql,pgadmin,C#,Sql,Postgresql,Pgadmin,我正在研究一个数据库,它有大约2年的数据,有大约1亿行和30列,每10秒有不同参数的值。我想创建一个新表,该表将包含这些数据的平均值,每个数据日期只包含一行。数据库中每个日期大约有100000行。 表名为进程 主键是id 我该怎么做呢?因为每当我在这个已经存在的表中搜索某个内容时,都需要很长时间才能找到所需的输出 是否可以创建一个新表,将单个日期的所有数据(约10万行)平均值放在一行中 你想要的是: CREATE TABLE averages AS SELECT date_trunc('

我正在研究一个数据库,它有大约2年的数据,有大约1亿行和30列,每10秒有不同参数的值。我想创建一个新表,该表将包含这些数据的平均值,每个数据日期只包含一行。数据库中每个日期大约有100000行。 表名为进程 主键是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;

groupby 1
通过第一个
SELECT
参数向
GROUP
显示数据,在本例中,该参数是日期。建议在
my\u表(date\u trunc('day',data\u capture\u timestamp\u column))
上使用表达式索引。

MySQL或PostgreSQL?或者你两者都支持?为什么两个标签都有?在PostgreSQL中,我将使用
创建表作为
或(在9.4中)一个
物化视图
我正在处理PostgreSQL。是否可以创建一个新表,将单个日期的所有数据(约10万行)的平均值放在一行中?它不起作用。可能是我没有正确使用您的解决方案。我曾在pgadmin中尝试过此查询,它显示了以下错误:从Process group by 1中选择date_trunc('day',data_capture_TimesSamptz_列)作为day,avg(col1)作为col1_avg,avg(col2)作为col2_avg,或其附近;我已经改变了,如果我不使用这个avg()函数,它也会给我输出。这是我实际尝试过的代码:选择date_trunc('day',processtime)作为day,选择avg(power)作为power_avg,选择avg(speed)作为speed_avg,FROM processs,GROUP BY 1;它以错误的形式给出错误:第5行:来自进程的语法错误,第5行:^************错误******错误:来自SQL状态的语法错误:42601字符:105@user3732694我认为您需要阅读SQL的入门教程。从这里开始:。在中的
前面有一个逗号。因此语法错误为“near
FROM
”。