Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка по нескольким полям одновременно.


Gamar ©   (2004-07-03 08:03:00) 

Как в TQuery сделать сортировку по нескольким полям одновременно
с приоритетом.
Например, есть таблица с полями: Название продукции, Дата производства,
Количество проданных единиц.
Сначала сортировка идет по Названию, если несколько записей
с одним Названием, то СРЕДИ них сортировка идет по Дате производства,
а если есть несколько записей, где и Название одно, и Дата производства,
то СРЕДИ этих записей с одинаковым Названием и Датой,
сортировка идет по Количеству.
Как это сделать SQL запросом, или как то еще? TQuery сидит на DBGrid,
точнее RXDBGrid.


Митяй   (2004-07-03 17:32:00) [1]

ADOQuery1.Sort := 'Pole1, Pole2, Pole3 и т.д.';


Digitman   (2004-07-03 14:45:00) [2]


> Gamar


только учти, что на больших наборах данных производительность выборки с такой сортировкой будет ощутимо зависеть от наличия в объекте выборки подходящих комбинированных индексов

если таблица модифицируется значительно реже, чем из нее делаются выборки, то есть прямой резон проиндексировать комбинацию полей "Название продукции", "Дата производства",
"Количество" в том порядке, в котором тебе требуется группировка и/или сортировка


menart   (2004-07-03 09:23:00) [3]

select * from таблица
order by поле1, поле2, поле3

сортируем сначало по полю1 потом по 2 и тд


Gamar   (2004-07-03 09:20:00) [4]

можно пример?


Алхимик   (2004-07-03 08:57:00) [5]

Комбинация ORDERBY и GROUPBY
http://www.interface.ru/fset.asp?Url=/misc/sql/sql3.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо