利用PostgreSQL怎么给查询列表增加序号-创新互联

本篇文章给大家分享的是有关利用PostgreSQL 怎么给查询列表增加序号,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联公司长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿拉尔企业提供专业的成都做网站、成都网站制作、成都外贸网站建设阿拉尔网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

利用 ROW_NUMBER() over( ) 给查询序列增加排序字段

SELECT ROW_NUMBER() over(ORDER bY biztypename DESC ) AS num,biztypename 
FROM (SELECT DISTINCT biztypename FROM bizmaptype) t;

效果如下:

利用PostgreSQL 怎么给查询列表增加序号

补充:PostgreSql 使用自定义序列(Sequence)向表插入数据 id 自增长

按照以往Oracle建表的流程,我们来新建表,并且向表中导入数据。

1.创建Book表

CREATE TABLE book(
 id INTEGER PRIMARY KEY ,
 name CHARACTER VARYING(50),
 price DOUBLE PRECISION,
 author CHARACTER VARYING(20)
);

PRIMARY KEY 将id设置为主键;

数据类型

类型名称 别名 描述

integer int,int4 有正负之分的4字节整数

character varying [ (n) ] varchar [ (n) ]

可变长度的字符串

double precision float8 双精度浮点数(8字节)

更多类型请参考文档:https://www.postgresql.org/docs/9.3/static/datatype.html

2.创建自动增长序列

CREATE SEQUENCE book_id_seq
 START WITH 1
 INCREMENT BY 1
 NO MINVALUE
 NO MAXVALUE
 CACHE 1;

参数 描述

START WITH 设置起始值,允许序列从任何地方开始


INCREMENT BY 设置增量,指定在哪个值得基础上创建新值,正值将产生递增序列,负值将产生递减序列;默认值为1。


NO MINVALUE 设置序列可以生成的最小值,如果未指定NO MINVALUE,对于升序和降序序列,默认值分别为1和。


NO MAXVALUE 设置序列可以生成的较大值,如果未指定此子句,将使用默认值,对于升序和降序序列,默认值为和-1。


CACHE 设置高速缓存,要分配多少序列号并将其存贮在内存中方便更快的访问,最小值为1,默认值也是1。

3.为book表添加自动增长序列

ALTER TABLE book ALTER COLUMN id SET DEFAULT nextval('book_id_seq');

4.向book表Insert数据

INSERT INTO public.book VALUES (nextval('book_id_seq'),'《本色》',30.5,'乐嘉');
INSERT INTO public.book VALUES (nextval('book_id_seq'),'《平凡世界》',90.5,'路遥');
INSERT INTO public.book VALUES (nextval('book_id_seq'),'《Java编程思想》',60.5,'詹姆斯·高斯林');
INSERT INTO public.book VALUES (nextval('book_id_seq'),'《Web高级编程》',50.5,'李三');

5.查询book表中数据

SELECT * FROM public.book;

查询结果:

6.相关序列操作:

--查询序列 (每查询一次,序列就做了一次+1操作,即查询下一次的value)
SELECT nextval('book_id_seq'); 
--移除序列
DROP SEQUENCE 'book_id_seq';

以上就是利用PostgreSQL 怎么给查询列表增加序号,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

分享文章:利用PostgreSQL怎么给查询列表增加序号-创新互联
新闻来源:https://www.cdcxhl.com/article16/cecigg.html

成都网站建设公司_创新互联,为您提供服务器托管网站设计公司用户体验外贸网站建设微信小程序网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司