Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизКак получить групповую сортировку в таблице? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c