|
|
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
А все-таки как перенумеровать строки (без внутренних select)? В иных серверах есть соответствующий инструмент, а если нет - то обходные не трудоемкие пути (напр. генераторы в IB) И что имел ввиду jimmy насчет with_numeration ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 21:25:39 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
Где перенумеровать? В запросе? В таблице? Как нумеровать? Порадком или по какой-то функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 21:27:51 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
Я делаю просто insert into @tmp select * from myTable declare @newid int set @newid = 0 or @parametr update @tmp set @newid = id = @newid + 1 Есть еще у меня статья в которой рассквазывается как сделать extended stored proc, с помощью которой можно в результат функции вставить автоикремент. Но помоему как я написал проще и редактировать удобней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 08:31:00 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
SELECT COUNT(t2.ID),t1.ID FROM dbo.Table t1 INNER JOIN dbo.Table t2 ON t1.ID>=t2.ID GROUP BY t1.ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:35:14 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
Симпотично, жаль только с произвольного числа не начнешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:40:44 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
COUNT(t2.ID) + (произвольное число - 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:47:04 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
И в прямь "зыко". А как насчет производительности? Все-таки объединение, count тысячах на 10000 не тормозит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 10:07:34 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
конечно тормозит, да еще как, простота, она хуже воровства ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 15:16:25 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
2Dmitri интересное решение ... проверил на таблице ~4500 записей плюс добавил в запрос сортировку выполняется 15 сек (индекс по id используется) Мне кажется такими вещами лучше заниматься на клиенте. Номер записи в локальном буфере могут выводить многие средства разработки. А в конечном случае именно это и требуется.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 15:43:22 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
эту функцию можно использовать только в запросах select into ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 16:47:45 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
У меня на SQL70 не работает, может я не въезжаю? Простите тормоза, но как оно работать будет, если в таблице поля ID нет? SELECT COUNT(t2.ID),t1.ID FROM dbo.Table t1 INNER JOIN dbo.Table t2 ON t1.ID>=t2.ID GROUP BY t1.ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 09:52:57 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
тогда почти так как описано выше select identity(bigint,1,1) as NewID,[select list] into #tmp from [table] SELECT * FROM #tmp DROP TABLE #tmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 10:55:05 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
Похоже что без tmpTable не обойтись Кстати, к предыдущему, сначала выполняется identity, а опосля group by. Поэтому select cast(0 as int) as NewID,[select list] into #tmp from [table] order by [fields] declare @i int set @i = 0 update #tmp set @i = NewID = @i+1 SELECT * FROM #tmp DROP TABLE #tmp Не ахти, но работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 15:41:33 |
|
||
|
Нумерация в запросе 2
|
|||
|---|---|---|---|
|
#18+
Sorry. Конечно order by а не group by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 15:43:35 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32032442&tid=1822203]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 384ms |

| 0 / 0 |
