PostgreSQL 实现给查询列表增加序号操作

 更新时间:2021年01月18日 09:40:51   作者:一碗面  
这篇文章主要介绍了PostgreSQL 实现给查询列表增加序号操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

效果如下:

补充: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';

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解

    开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解

    这篇文章主要介绍了开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • postgresql运维之远程迁移操作

    postgresql运维之远程迁移操作

    这篇文章主要介绍了postgresql运维之远程迁移操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgresql合并string_agg函数的实例

    postgresql合并string_agg函数的实例

    这篇文章主要介绍了postgresql合并string_agg函数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Postgresql开启SQL执行语句收集过程

    Postgresql开启SQL执行语句收集过程

    本文介绍如何修改PostgreSQL的配置文件来启用SQL执行语句的日志记录,包括打开配置文件、修改日志相关设置以及查看日志文件的方法,关键步骤包括删除注释符号、设定日志存储路径和文件名、选择记录的SQL语句类型,此操作有助于数据库管理和问题调试
    2024-10-10
  • Postgresql 动态统计某一列的某一值出现的次数实例

    Postgresql 动态统计某一列的某一值出现的次数实例

    这篇文章主要介绍了Postgresql 动态统计某一列的某一值出现的次数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL 允许远程访问设置的操作

    PostgreSQL 允许远程访问设置的操作

    这篇文章主要介绍了PostgreSQL 允许远程访问设置的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 关于postgresql timestamp时间戳问题

    关于postgresql timestamp时间戳问题

    这篇文章主要介绍了关于postgresql timestamp时间戳问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • PostgreSQL timestamp踩坑记录与填坑指南

    PostgreSQL timestamp踩坑记录与填坑指南

    这篇文章主要介绍了PostgreSQL timestamp踩坑记录与填坑指南,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgresql实现对已有数据表分区处理的操作详解

    postgresql实现对已有数据表分区处理的操作详解

    这篇文章主要为大家详细介绍了postgresql实现对已有数据表分区处理的操作的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • PostgreSQL树形结构的递归查询示例

    PostgreSQL树形结构的递归查询示例

    这篇文章主要给大家介绍了关于PostgreSQL树形结构的递归查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05

最新评论