PostgreSQL 實現(xiàn)給查詢列表增加序號操作
利用 ROW_NUMBER() over( ) 給查詢序列增加排序字段
SELECT ROW_NUMBER() over(ORDER bY biztypename DESC ) AS num,biztypename FROM (SELECT DISTINCT biztypename FROM bizmaptype) t;
效果如下:

補充:PostgreSql 使用自定義序列(Sequence)向表插入數(shù)據(jù) id 自增長
按照以往Oracle建表的流程,我們來新建表,并且向表中導入數(shù)據(jù)。
1.創(chuàng)建Book表
CREATE TABLE book( id INTEGER PRIMARY KEY , name CHARACTER VARYING(50), price DOUBLE PRECISION, author CHARACTER VARYING(20) );
PRIMARY KEY 將id設置為主鍵;
數(shù)據(jù)類型
類型名稱 別名 描述
integer int,int4 有正負之分的4字節(jié)整數(shù)
character varying [ (n) ] varchar [ (n) ]
可變長度的字符串
double precision float8 雙精度浮點數(shù)(8字節(jié))
更多類型請參考文檔:https://www.postgresql.org/docs/9.3/static/datatype.html
2.創(chuàng)建自動增長序列
CREATE SEQUENCE book_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
參數(shù) 描述
START WITH 設置起始值,允許序列從任何地方開始
INCREMENT BY 設置增量,指定在哪個值得基礎上創(chuàng)建新值,正值將產(chǎn)生遞增序列,負值將產(chǎn)生遞減序列;默認值為1。
NO MINVALUE 設置序列可以生成的最小值,如果未指定NO MINVALUE,對于升序和降序序列,默認值分別為1和。
NO MAXVALUE 設置序列可以生成的最大值,如果未指定此子句,將使用默認值,對于升序和降序序列,默認值為和-1。
CACHE 設置高速緩存,要分配多少序列號并將其存貯在內(nèi)存中方便更快的訪問,最小值為1,默認值也是1。
3.為book表添加自動增長序列
ALTER TABLE book ALTER COLUMN id SET DEFAULT nextval('book_id_seq');
4.向book表Insert數(shù)據(jù)
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表中數(shù)據(jù)
SELECT * FROM public.book;
查詢結(jié)果:
6.相關序列操作:
--查詢序列 (每查詢一次,序列就做了一次+1操作,即查詢下一次的value)
SELECT nextval('book_id_seq');
--移除序列
DROP SEQUENCE 'book_id_seq';
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
開源數(shù)據(jù)庫postgreSQL13在麒麟v10sp1源碼安裝過程詳解
這篇文章主要介紹了開源數(shù)據(jù)庫postgreSQL13在麒麟v10sp1源碼安裝過程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
postgresql合并string_agg函數(shù)的實例
這篇文章主要介紹了postgresql合并string_agg函數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
Postgresql 動態(tài)統(tǒng)計某一列的某一值出現(xiàn)的次數(shù)實例
這篇文章主要介紹了Postgresql 動態(tài)統(tǒng)計某一列的某一值出現(xiàn)的次數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
postgresql實現(xiàn)對已有數(shù)據(jù)表分區(qū)處理的操作詳解
這篇文章主要為大家詳細介紹了postgresql實現(xiàn)對已有數(shù)據(jù)表分區(qū)處理的操作的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-12-12
PostgreSQL樹形結(jié)構(gòu)的遞歸查詢示例
這篇文章主要給大家介紹了關于PostgreSQL樹形結(jié)構(gòu)的遞歸查詢的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用PostgreSQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05

