Выбор из таблицы только минутных значений

Поминутки
Дата: 16.01.2009 09:08:25
Доброе утро!
Вот есть например таблица БД, и туда записываются данные за каждую секунду.
Как сделать выборку не по всем значениям а только те которые попадали в базу на границы минуты. В 1 мин, в 2 мин, в 3 мин во все минуты часа, чтобы за один час было 60 значений.
aleks2
Дата: 16.01.2009 09:11:51
Поминутки,

ежели ты УВЕРЕН, что ТАКИЕ значения ВСЕГДА есть, то
...
WHERE datepart(second, DateField)=0
Поминутки
Дата: 16.01.2009 09:22:10
aleks2
Поминутки,

ежели ты УВЕРЕН, что ТАКИЕ значения ВСЕГДА есть, то
...
WHERE datepart(second, DateField)=0

нет, не обязательно секунд в этот момент будет 0

просто например может быть так:
13:01:00
13:01:01
13:01:03
и т.д., далее
13:02:02
13:02:03
и т.д., далее
13:03:48
и т.д., далее
13:04:35
13:04:36

Резуль тат выборки должен быть таким 13:01:00,13:02:02, 13:03:48, 13:04:35, т.е. первые значения каждой минуты
Ennor Tiegael
Дата: 16.01.2009 09:31:34
Как-то так, надеюсь у вас хотя бы 2005:
select id, time from (
  select id, time, row_number() over(partition by left(convert(varchar(20), time, 112), 14) order by time) as [rn]
  from dbo.table1
) sq
where rn = 1;
Если по-русски: округляете время до минуты и из каждой такой группы берете первое значение в порядке возрастания исходного времени.
iap
Дата: 16.01.2009 09:33:02
SELECT TOP 1 WITH TIES *
FROM [Table]
ORDER BY ROW_NUMBER()OVER(PARTITION BY CONVERT(CHAR(16),DateField,126) ORDER BY DateField);
iap
Дата: 16.01.2009 09:34:15
Ennor Tiegael,

в 112-м формате времени нет...
Дедушка
Дата: 16.01.2009 09:34:43
select top 1 with ties
...
order by row_number() over(partition by datepart(hh,DateField), datepart(mi,DateField) order by datepart(ss,DateField))

--------------------------------------------------------------
Дьявол кроется в деталях.
aleks2
Дата: 16.01.2009 09:39:06
Проще надо быть.

select MIN(DateField)
FROM
[Вот есть например таблица]
GROUP BY DATEDIFF(minute,0,DateField)
Дедушка
Дата: 16.01.2009 09:45:50
aleks2
Проще надо быть.

select MIN(DateField)
FROM
[Вот есть например таблица]
GROUP BY DATEDIFF(minute,0,DateField)

ну вы уж совсем упростили :)
только забыли обернуть ещё одним селектом для получения других полей...
Поминутки
Дата: 16.01.2009 09:55:26
iap
SELECT TOP 1 WITH TIES *
FROM [Table]
ORDER BY ROW_NUMBER()OVER(PARTITION BY CONVERT(CHAR(16),DateField,126) ORDER BY DateField);

Вот этот вариант мне отлично подходит, но можно ли объяснить мне значение цифры 126, если не сложно