Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Как получить групповую сортировку в таблице?   Найти похожие ветки 

 
novill ©   (2003-05-13 10:40) [0]

Уважаемые мастаки, меня тут начальство озадачило:

Есть таблица с полями:
ШИФР - шифр группы записей (шифр комплекта деталей),
РАЗМЕР - уникальый признак записи в группе (размер детали).

Необходимо получить следующую сортировку:
Сначала идет группа записей минимальный РАЗМЕР в которой является наименьшим для всех остальных групп,
...,
последней идет группа минимальный РАЗМЕР в которой наибольший из всех групп.

Например
ШИФР|РАЗМЕР
3 |2
3 |3
3 |4
1 |3
1 |4
1 |5
1 |7
4 |5
4 |6
4 |7
4 |8

Ограничений на выбор способов нет, только очень не хочется руками перекапывать таблицу.


 
Johnmen ©   (2003-05-13 10:54) [1]

SELECT ШИФР, MIN(РАЗМЕР)
FROM Table
GROUP BY ШИФР
ORDER BY 2


 
WarLord ©   (2003-05-13 11:07) [2]


> SELECT ШИФР, MIN(РАЗМЕР)
> FROM Table
> GROUP BY ШИФР
> ORDER BY РАЗМЕР



 
Zacho ©   (2003-05-13 11:21) [3]


> Johnmen © (13.05.03 10:54)



> WarLord © (13.05.03 11:07)

Насколько я понял, надо получить все записи, а не только с минимальным размером. Так что, скорее всего надо что-то типа
SELECT T.SHIFR,T.RAZMER,
(SELECT MIN(T2.RAZMER) FROM TEST T2 WHERE T.SHIFR=T2.SHIFR)
FROM TEST T
ORDER BY 3,1


 
Соловьев ©   (2003-05-13 11:32) [4]

2 Zacho

> Сначала идет группа записей минимальный РАЗМЕР в которой
> является наименьшим для всех остальных групп,
> ...,
> последней идет группа минимальный РАЗМЕР в которой наибольший
> из всех групп.

групы-это все?


 
WarLord ©   (2003-05-13 11:33) [5]

а по-моему еще проще:
SELECT ШИФР, РАЗМЕР
FROM Table
ORDER BY РАЗМЕР, ШИФР


 
Zacho ©   (2003-05-13 11:49) [6]


> Соловьев © (13.05.03 11:32)

Автор исходного поста привел пример, какой результат надо получить. А в результате запроса Johnmen © (13.05.03 10:54) или WarLord © (13.05.03 11:07) получится что-то типа :
ШИФР|РАЗМЕР
3 |2
1 |3
4 |5

> WarLord © (13.05.03 11:33)

А ты попробуй, и увидишь что получится совсем не то, а вот что:
ШИФР|РАЗМЕР
3 |2
1 |3
3 |3
1 |4
3 |4
1 |5
4 |5
4 |6
1 |7
4 |7
4 |8


 
novill ©   (2003-05-13 13:36) [7]

Спасибо.


> Zacho

Ты прав.
У меня получилось. Правда запрос выполнялся минут 7 (на 6200 записей)


 
Zacho ©   (2003-05-13 13:41) [8]


> novill © (13.05.03 13:36)

Создай индекс на поле РАЗМЕР


 
novill ©   (2003-05-13 14:42) [9]


> Zacho © (13.05.03 13:41)

У тебя можно еще поконсультироваться?
Есть еще пара вопросов в продолжении этой темы.
Может почтой? или аськой? (146912494)


 
Zacho ©   (2003-05-13 14:50) [10]


> novill © (13.05.03 14:42)

Лучше аськой 35253857



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
14-3068
DeMoN_Astra
2003-05-11 01:16
2003.06.02
Почта-indy-idMessage


1-2844
demonyator
2003-05-17 20:01
2003.06.02
Прозрачность в String Grid


6-3033
Duke DEE
2003-04-01 17:16
2003.06.02
TWebBrowser


3-2817
Tomkat
2003-05-15 12:06
2003.06.02
Halcyon & ZAP


3-2768
prof
2003-05-14 06:36
2003.06.02
Проблемы с индексом