Вниз
Скачать: CL | DM;

Нумерация записей с учетом сортировки   Найти похожие ветки 

 
VladBD ©   (2005-09-11 19:57) [0]

Вопрос.

Нужно отсортировать таблицу из mdb в DELPHI по нескольким полям
(например поле1 DESC, поле2 ASC, поле3 DESC) и в поле4 проставить номер по порядку сортировки.

1:
Делаю через ADOQUERY запрос с ORDER BY... и потом UPDATE поле4 = переменная+1 where (ID=ADOQUERY.id)

2:
ADOTABLE.sort=...
потом с начала таблицы бегу и
edit
поле4=переменная+1
post

Смысл такой - все это долго работает - особенно от 100.000 записей
Как еще по быстрому можно такое решить.

p.s. например в foxpro есть функция пересортировать по нескольким полям в другую таблицу а потом быстро проставить recno()


 
Nikolay M. ©   (2005-09-11 20:44) [1]

http://www.sql.ru/faq/faq_topic.aspx?fid=126
Способ 2 - для тебя.


 
VladBD ©   (2005-09-11 23:44) [2]

а типа в поле4 сохранится номер по порядку???
мне надо чтобы не select был с нумерацией, а проставлять номер (возможно не с единицы а с 12002 например)!!!


 
Nikolay M. ©   (2005-09-12 10:00) [3]


> VladBD ©   (11.09.05 23:44) [2]

Где в этом запросе поле4?

select count (test_2.id_test) as rank, test_1.id_test, test_1.string
from test as test_1 inner join test as test_2 on
test_1.id_test >= test_2.id_test
group by test_1.id_test, test_1.string
order by rank


Что мешает прибавить к первому полю желаемое смещение (12001 в твоем случае)?


 
Sergey13 ©   (2005-09-12 10:16) [4]

2[2] VladBD ©   (11.09.05 23:44)
А назавтра (при следующей выборке или смене сортировки) все это надо повторять? Или это разовая задача?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1127903858
Суслик
2005-09-28 14:37
2005.10.23
Скрытие колонок TStringGrid


4-1124470748
NikNet
2005-08-19 20:59
2005.10.23
Как сделать Explorer для Реестра


10-1106136082
Andy BitOff
2005-01-19 15:01
2005.10.23
Закрытие WINWORD.EXE. Как?


1-1128075034
Николай1
2005-09-30 14:10
2005.10.23
MDIChild и TreeView не возвращается фокус


3-1126499470
oleg_p
2005-09-12 08:31
2005.10.23
Не работает ORDER BY




   Наверх