1、数据表及csv文件的导入导出(数据表已经建好):
(1)将t1导出位csv文件src.csv(带列名):
copY t1 TO '文件位置\\src.csv' WITH CSV HEADER;(2)将src.csv导入数据库的t2表中:
copY t2 FROM '文件位置\\src.csv' WITH CSV HEADER;
2、从表t2中查询一些字段插入到表t1中:
INSERT INTO 表1(字段1,字段2,字段3) SELECT 字段1,字段3 FROM t2;
3、根据表t1中的字段1在表t2中查找对应的字段2,如根据表t1中的id在表t2中查找学号为id的学生的age。
SELECT age FROM t2 WHERE id IN (SELECT id FROM t1);
4、根据t1和t2中的公共字段id将表t2中的字段1和字段2更新到表t1:
UPDATE t1 SET 字段1 = (SELECT t2.字段1 FROM t2 WHERE t1.id = t2.id),字段2 = (SELECT t2.字段2 FROM t2 WHERE t1.id = t2.id);注意:若t2中有相同的id,则在执行时会出错。
5、统计表table中不同的(字段1,字段2)及数量(不考虑其他字段是否相同):
select distinct (字段1,字段2),count(*) from table group by (字段1,字段2);
6、根据id分组,最多显示表table中每个分组的x条记录。
SELECT * FROM ( SELECT *,row_number() OVER(PARTITION BY id) AS ROW FROM table) t WHERE ROW <= x;
原文地址:https://www.jb51.cc/postgresql/194000.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。