Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
从postgresql中的select distinct查询插入到表中_Postgresql - Fatal编程技术网

从postgresql中的select distinct查询插入到表中

从postgresql中的select distinct查询插入到表中,postgresql,Postgresql,我有一个包含33列的表,其中有几个重复项,因此我尝试以这种方式删除所有重复项,因为这个select distinct查询具有正确的数据数 CREATE TABLE students ( school char(2),sex char(1),age int,address char(1),famsize char(3), Pstatus char(1),Medu int,Fedu int,Mjob varchar,Fjob varchar,reason varchar, guardian

我有一个包含33列的表,其中有几个重复项,因此我尝试以这种方式删除所有重复项,因为这个select distinct查询具有正确的数据数

    CREATE TABLE students (
school char(2),sex char(1),age int,address char(1),famsize char(3),
Pstatus char(1),Medu int,Fedu int,Mjob varchar,Fjob varchar,reason varchar,
guardian varchar,traveltime int,studytime int,failures char(1),
schoolsup varchar,famsup varchar,paid varchar,activities varchar,
nursery varchar,higher varchar,internet varchar,romantic varchar,
famrel int,freetime int,goout int,Dalc int,Walc int,
health int,absences int,id serial primary key)
我想插入此select distinct查询中的所有值 将8个列放入另一个空表中

SELECT DISTINCT ("school","sex","age","address","famsize","Pstatus","Medu","Fedu","Mjob","Fjob","reason","nursery","internet")
FROM students;
您可以
join
tables以获得33
s

您可以
join
tables以获得33
s

我想将此具有8列的select distinct查询中的所有值插入到另一个空表中

SELECT DISTINCT ("school","sex","age","address","famsize","Pstatus","Medu","Fedu","Mjob","Fjob","reason","nursery","internet")
FROM students;
使用
create table。。如要创建表格,请选择…

create table new_table
as
SELECT DISTINCT school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet
FROM students;
其他方面,只需使用基于选择的插入:

insert into empty_table (school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet)
SELECT DISTINCT school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet
FROM students;
非常重要:不要在选择列表中的列周围加括号,这将创建一个匿名记录类型的单列

我想将此具有8列的select distinct查询中的所有值插入到另一个空表中

SELECT DISTINCT ("school","sex","age","address","famsize","Pstatus","Medu","Fedu","Mjob","Fjob","reason","nursery","internet")
FROM students;
使用
create table。。如要创建表格,请选择…

create table new_table
as
SELECT DISTINCT school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet
FROM students;
其他方面,只需使用基于选择的插入:

insert into empty_table (school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet)
SELECT DISTINCT school, sex, age, address, famsize, "Pstatus", "Medu", "Fedu", "Mjob", "Fjob", reason, nursery, internet
FROM students;

非常重要:不要在选择列表中的列周围加括号,这样会创建一个匿名记录类型的单列。

请回答您的问题,并为有问题的表添加
create table
语句。请发短信,如果我用这个,我只会得到8个值,我想要全部33个值。我不清楚你想要实现什么。您是否试图标识8个字段组合唯一的所有记录?我编辑了问题以获取更多详细信息,请勿在选择列表中的列名周围加括号。这将创建一个具有匿名记录结构的列。请回答您的问题,并为有问题的表添加
create table
语句。请发短信,如果我用这个,我只会得到8个值,我想要全部33个值。我不清楚你想要实现什么。您是否试图标识8个字段组合唯一的所有记录?我编辑了问题以获取更多详细信息,请勿在选择列表中的列名周围加括号。创建具有匿名记录结构的单个列。