我想對於不存在的數據查詢表並不容易,但這裏有一些技巧可以在一個整數列(rowindex)中實現空洞。
下面是說明具體情況,小桌子:PostgreSQL在索引列中獲取空洞
DROP TABLE IF EXISTS examtable1;
CREATE TABLE examtable1
(rowindex integer primary key, mydate timestamp, num1 integer);
INSERT INTO examtable1 (rowindex, mydate, num1)
VALUES (1, '2015-03-09 07:12:45', 1),
(3, '2015-03-09 07:17:12', 4),
(5, '2015-03-09 07:22:43', 1),
(6, '2015-03-09 07:25:15', 3),
(7, '2015-03-09 07:41:46', 2),
(10, '2015-03-09 07:42:05', 1),
(11, '2015-03-09 07:45:16', 4),
(14, '2015-03-09 07:48:38', 5),
(15, '2015-03-09 08:15:44', 2);
SELECT rowindex FROM examtable1;
隨着顯示查詢我得到列出的所有使用的索引。
但我想得到(說)前五個索引是錯過的,所以我可以使用它們插入新的數據在所需的rowindex。
具體實例結果如下:2,4,8,9,12表示未使用的索引。
在這裏有什麼技巧來構建一個查詢,它會給出n個缺失索引?
實際上,這樣的表格可能包含許多行,並且「孔」可能在任何地方。
這項工作適合你嗎? http://stackoverflow.com/questions/1312101/how-to-find-a-gap-in-running-counter-with-sql –
一個選項,加入'generate_series(1,MAX(rowindex)' :http://www.postgresql.org/docs/current/static/functions-srf.html – Wolph
Thanks guys。Generate_series似乎是通緝的解決方案。 –