Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Минимальное для каждой уникальной ячейки  [new]
Pim.
Member

Откуда:
Сообщений: 77
Доброго времени суток!

Имеется вот такая вот табличка:
Картинка с другого сайта.
Начальная дата, конечная дата и их разница.

Необходимо для каждой уникальной начальной даты выбрать минимальную разницу.
Т.е. из данных получить:
2014-12-25 20:28:28.940 2014-12-25 20:28:59.493 0
2014-12-25 20:36:47.123 2014-12-25 21:18:19.677 42
2014-12-25 22:57:07.623 2014-12-26 16:58:11.880 1081
11 янв 15, 07:00    [17101878]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Добрый Э - Эх
Guest
Основные способы решения поставленной задачи: тынц
11 янв 15, 08:30    [17101907]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Добрый Э - Эх
Guest
Pim.,

но конкретно в твоем случае хватит банального
Select startdate, max(enddate) as enddate, min(diff) as diff 
  from t
 group by startdate
11 янв 15, 08:32    [17101909]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
Добрый Э - Эх
Pim.,

но конкретно в твоем случае хватит банального
Select startdate, max(enddate) as enddate, min(diff) as diff 
  from t
 group by startdate
ему нужно для нуля вывести в enddate 20:28, а не 21:18
11 янв 15, 11:20    [17101999]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Добрый Э - Эх
Guest
skyANA,

Ну пусть идёт по ссылке и выводит...
11 янв 15, 12:43    [17102110]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Pim.
Member

Откуда:
Сообщений: 77
Немного упрощу формулировку задачи:
Табличка вот такая:
Картинка с другого сайта.

Задача: необходимо для каждого №, все уникальные "Start", при том, что выбираются те, у кого "diff" наименьший из всех одинаковых Start.

Результат:
Картинка с другого сайта.
15 янв 15, 12:06    [17121497]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Glory
Member

Откуда:
Сообщений: 104751
Pim.
Задача: необходимо для каждого №, все уникальные "Start", при том, что выбираются те, у кого "diff" наименьший из всех одинаковых Start.

Пронумеровать все записи, используя ROW_NUMBER OVER .Взять запись с наименьшии номером для каждого №
15 янв 15, 12:11    [17121533]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Добрый Э - Эх
Guest
Pim.,

по ссылке-то ходил? или ждешь готового запроса?
15 янв 15, 12:12    [17121540]     Ответить | Цитировать Сообщить модератору
 Re: Минимальное для каждой уникальной ячейки  [new]
Pim.
Member

Откуда:
Сообщений: 77
Добрый Э - Эх
Pim.,

но конкретно в твоем случае хватит банального
Select startdate, max(enddate) as enddate, min(diff) as diff 
  from t
 group by startdate


Да, отлично работает. Благодарю.
16 янв 15, 06:17    [17125231]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить