Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

Сортировка   Найти похожие ветки 

 
Кролик   (2003-03-05 18:41) [0]

Как задать сортировку таблицы по определённому полю?


 
Pat   (2003-03-05 18:56) [1]

Select ... order by ...
Либо индекс, если для TTable


 
Кролик   (2003-03-05 21:46) [2]

A конкретно для TTable? Plz...


 
Pat   (2003-03-05 22:05) [3]

при создании таблицы нужно определить вторичные индексы.
Если создаешь таблицу в Database Desktop - Secondary Indexes или как их там...Выбираешь поля, по которым должна осуществляться сортировка...Причем сортировка будет в том порядке, в котором стоят поля..хм..может криво объяснил..пример:
Индекс: fio, name
таблица будет выглядеть примерно так:
Ахренегознаеткакаяфимилия
Иванов Алексей
Иванов Иван
Иванов Максим
Петров Петр
Петров трактор-петрович

Думаю, понятно объяснил.. :-)))


 
MsGuns   (2003-03-05 22:19) [4]

Сортировка ТАБЛИЦЫ может быть осуществлена единственным способом - через первичный ключ (PRIMARY KEY), определяемый на этапе создания (для Парадокса - и реструктурировании) таблицы.
И то это не есть физическая последовательность записей на диске !

Если же надо УПОРЯДОЧИТЬ записи для ОТОБРАЖЕНИЯ (например, в гриде), используются методы, указанные Pat © (05.03.03 18:56)


 
line   (2003-03-05 23:35) [5]

>MsGuns ©
Фуфло!
Первичный ключ нужен для поиска записей, а при сортировки он не используется.

Пример: Taблица - MainTable (название таблицы)
Поля - F, I

Query1.Active:=False;
Query1.SQL.Clear;

Запрос на сортировку - Query1.SQL.Add("select F,I From MainBase order by F");

Query1.Active:=True;

Не забудь связать TQuery c таблицей (Query1.DataBaseName - место расположения таблицы на компе).

Сортировка по убыванию - тоже самое, только в запросе добавишь "Desc" после "order by F"



 
line   (2003-03-05 23:42) [6]

На крайняк, можешь использовать индексы для более быстрой сортировки


 
Johnmen   (2003-03-05 23:49) [7]

>line

Хорошие ответы, только, как минимум, уже повторяют сказанное, как максимум, просто не по делу...(Кролик (05.03.03 21:46) A конкретно для TTable?)


 
MsGuns   (2003-03-05 23:50) [8]

>line (05.03.03 23:35)
>MsGuns ©
>Фуфло!
>Первичный ключ нужен для поиска записей, а при сортировки он не используется

Вот эта фраза и есть фуфло и говорит о непонимании механизма работы Рарадокс. Если индекс не используется явно (не подключен) и в таблице есть первичный ключ, то в каком порядке записи будут представлены юзером ? В произвольном ?

Ты путаешь понятие "сортировааный" и "упорядоченный", что в применении к БД вообще-то не одно и то же. Если под словом "сортированный" понимать ФИЗИЧЕСКИЙ порядок следования записей или их идентификаторов (ключей и индексов), то упорядочен обычно предоставляемый клиенту КУРСОР.

Указанный тобой способ OrderBy страдает одним недостаком - рез.НД не есть редактируемый.


 
Johnmen   (2003-03-05 23:57) [9]

>MsGuns © (05.03.03 23:50)

Добавлю лишь, что первичный ключ это по сути уникальный индекс.


 
line   (2003-03-06 01:01) [10]

Создание первичного ключа необходимо, но индекс для поля F для его дальнейшей сортировки не является необходимостью!
В нашем случае предполагается создание ключа явно не для F
Name := "";
Fields:="N";
Options := [ixPrimary];
т.к. есть возможность повторения полей F
если я неправ то заранее извиняюсь

Непонял фразу "рез.НД " - что хотел сказать?



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

Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
3-76294
zubov
2003-03-04 18:44
2003.03.24
Создание db-полей в рантайме


3-76264
orion_st
2003-03-06 17:54
2003.03.24
Пустые поля в таблице вызывают ошибку


14-76614
Anatoly Podgoretsky
2003-03-07 08:14
2003.03.24
Именинники 7 марта


1-76496
Строитель
2003-03-12 12:49
2003.03.24
Lock


7-76695
RimD
2003-01-30 21:34
2003.03.24
Bios адреса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский