iKeith
Дата: 27.01.2009 02:49:10
В sql'е не мастер, поэтому прошу помощи у многоуважаемой общественности:
Есть таблица "table1", которая имеет два столбца:
ID int
Start DateTime
Нужно написать примерно следующий запрос:
select top 10 *
from table1 t
where ((t.ID = 1) or (t.ID = 2))
and (t.Start >= '01/26/2009 2:20:16')
order by t.Start desc
только в данном случае произойдет выбор 10 последних записей для любого t, имеющего ID равное 1 или 2, а хочется, чтобы 10 последних запросов были получены для каждого из перечисленных ID.
Т.е. задача состоит в том, чтобы получить по 10 последних записей для каждого из перечисленных t.ID.
Это вообще возможно сделать одним запросом или надо делать на каждый ID по запросу?
iKeith
Дата: 27.01.2009 21:22:31
Спасибо aleks2 и iap!
К сожалению, приведенные варианты не очень подходят, т.к. в первом случае будет фактически по запросу на каждый ID, а второй случай работает только в ms sql.
Придется мне слегка пересмотреть архитектуру...