<bdo id="vljxk"><rt id="vljxk"><noframes id="vljxk"><noframes id="vljxk"><noframes id="vljxk"><rt id="vljxk"></rt><rt id="vljxk"></rt><noframes id="vljxk"><rt id="vljxk"><delect id="vljxk"></delect></rt><noframes id="vljxk"><rt id="vljxk"></rt><noframes id="vljxk"><noframes id="vljxk"><rt id="vljxk"></rt>

當前位置:首頁 >  站長 >  數據庫 >  正文

PostgreSQL 實現給查詢列表增加序號操作

 2021-06-04 17:10  來源: 腳本之家   我來投稿 撤稿糾錯

  阿里云優惠券 先領券再下單

這篇文章主要介紹了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表添加自動增長序列

1ALTER 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表中數據

1SELECT * FROM public.book;

查詢結果:

6.相關序列操作:

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

文章來源:腳本之家

來源地址:https://www.jb51.net/article/204268.htm

申請創業報道,分享創業好點子。點擊此處,共同探討創業新機遇!

相關文章

熱門排行

信息推薦