powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
4 сообщений из 4, страница 1 из 1
Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
    #37966825
ASE 12.5.2

Есть таблица с данными:

IdTicketOperationIdTickStockUseEndTimeSeriesNumber50926263Aug 22 2012 12:14PMАЕ350150927263Aug 22 2012 1:32PMАЕ350150928263Aug 22 2012 1:37PMАЕ350150929263Aug 22 2012 1:39PMАЕ350150930263Aug 22 2012 1:46PMАЕ350251041263Aug 22 2012 2:53PMАЕ350351042263Aug 22 2012 2:57PMАЕ350451043263Aug 22 2012 2:59PMАЕ350551075263Aug 22 2012 4:27PMАЕ350651076263Aug 22 2012 4:28PMАЕ350751077263Aug 22 2012 4:30PMАЕ350851078263Aug 22 2012 4:31PMАЕ3509

Нужно из таблицы выбрать только уникальные значения пары Series, Number с максимальным значением EndTime. Другие поля в результате тоже должны быть сохранены. Т.е. результат должен быть таким:

IdTicketOperationIdTickStockUseEndTimeSeriesNumber50929263Aug 22 2012 1:39PMАЕ350150930263Aug 22 2012 1:46PMАЕ350251041263Aug 22 2012 2:53PMАЕ350351042263Aug 22 2012 2:57PMАЕ350451043263Aug 22 2012 2:59PMАЕ350551075263Aug 22 2012 4:27PMАЕ350651076263Aug 22 2012 4:28PMАЕ350751077263Aug 22 2012 4:30PMАЕ350851078263Aug 22 2012 4:31PMАЕ3509

Подскажите как это лучше всего сделать? В данный момент применено решение в виде курсора.
...
Рейтинг: 0 / 0
Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
    #37967336
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
со старта напрашивается вариант влоб с помощью кореллированного подзаgроса:
Код: sql
1.
2.
3.
select distinct t.IdTicketOperation, t.IdTickStockUse, t.EndTime, t.Series, t.Number
from your_tab t
where t.EndTime=(select max(t2.EndTime) from your_tab t2 where t.Series=t2.Series and t.Number=t2.Number)
...
Рейтинг: 0 / 0
Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
    #37980395
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос ни о чем без знания спецфики таблиц.

Вот такой запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
Select Col1, Col2, Max(Col3) into #tmp from yourtable
group by Col1, Col2

Select
YT.*
from yourtable YT
  join #tmp T on T.Col1= YT.Col1 and T.Col2 =YT.Col2 and T.Col3=YT.Col3



будет быстро работать на небольшом объеме данных.
На миллиардах записей - тупить будет. Хотя опять же все зависит от индексов и сервера...
...
Рейтинг: 0 / 0
Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
    #37981138
Дозморов Игорь, посмотри тут .
Как минимум варианты 2, 3, 4, 5 должны работать и на Sybase
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выбрать записи из таблицы без дубликатов значений указанных полей (distinct по полю)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]