| From: | Владимир Комаров <vlads(at)sibnet(dot)ru> |
|---|---|
| To: | <pgsql-ru-general(at)postgresql(dot)org> |
| Subject: | RE: [pgsql-ru-general] Вопрос по нумерации |
| Date: | 2015-08-27 17:59:10 |
| Message-ID: | 001001d0e0f2$1382efc0$3a88cf40$@sibnet.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-ru-general |
Разобрался сам:
Оказалось проще простого:
SELECT max(x)+1 INTO n
SELECT xx INTO res FROM generate_series(2,n) xx
WHERE xx NOT IN (SELECT x FROM tbl) LIMIT 1
From: Владимир Комаров [mailto:vlads(at)sibnet(dot)ru]
Sent: Thursday, August 27, 2015 11:17 PM
To: 'Alexey Vasiliev' <leopard_ne(at)inbox(dot)ru>
Subject: RE: [pgsql-ru-general] Вопрос по нумерации
Спасибо, но этот вариант я знаю:
Сделать строку str:=1,2,3,4…n
Где SELECT max(x)+1 INTO n
А ПОТОМ нечто подобное:
SELECT xx INTO res from (SELECT regexp_split_to_table(str) xx) WHERE xx NOT IN (SELECT x FROM tbl) LIMIT 1
Но хотелось более элегантный способ формирования таблицы str или (regexp_split_to_table(str))
From: Alexey Vasiliev [ <mailto:leopard_ne(at)inbox(dot)ru> mailto:leopard_ne(at)inbox(dot)ru]
Sent: Thursday, August 27, 2015 10:42 PM
To: Владимир Комаров < <mailto:vlads(at)sibnet(dot)ru> vlads(at)sibnet(dot)ru>
Cc: <mailto:pgsql-ru-general(at)postgresql(dot)org> pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Вопрос по нумерации
На алгоритмах есть такое:
http://algolist.manual.ru/olimp/poi_sol.php#a10
Thursday, 27 August 2015, 06:26PM +03:00 from Владимир Комаров <vlads(at)sibnet(dot)ru <mailto:vlads(at)sibnet(dot)ru> >:
Есть таблица. Есть столбец Х .
Необходимо внести строку так, чтобы номер, попадаемый в Х был минимальным уникальным.
Например, есть строки: 1,2,3,4,6,7,9
Значит новая строка должна быть с номером 5
Как это сделать максимально быстро?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nikolay Samokhvalov | 2015-09-02 20:35:13 | #PostgreSQLRussia — №3 в мире! 👏 Анонсы на сентябрь и октябрь 2015 |
| Previous Message | Андрей Зевакин | 2015-08-27 17:56:44 | Re: [pgsql-ru-general] Вопрос по нумерации |