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

Откуда:
Сообщений: 22
4) Вывести список предпослединх операций за каждый день в течении последней недели
Таблица Trans - таблица операций
Trans.artdate - Дата операции
17 май 12, 16:01    [12571223]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Можно другой билет?
17 май 12, 16:03    [12571236]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
ProbationerORA
Member

Откуда:
Сообщений: 22
Извините за такую сухость вопроса,
Но у кого есть мысли излагайте буду рад
17 май 12, 16:31    [12571529]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А какие еще мысли? Пронумеровать в течение дня в обратном порядке и выбрать все записи, у которых порядковый номер = 2.
17 май 12, 16:34    [12571556]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
ProbationerORA
Member

Откуда:
Сообщений: 22
Непонял как это сделать можно пример, заранее спасибо
Видите ли я еще только начинающий позтому многого не понимаю
17 май 12, 16:41    [12571624]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
ProbationerORA
Непонял как это сделать можно пример, заранее спасибо
Видите ли я еще только начинающий позтому многого не понимаю
А преподаватель не рассказывал, как?
17 май 12, 16:43    [12571648]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
ProbationerORA
Member

Откуда:
Сообщений: 22
Да не особо утруждался
17 май 12, 16:54    [12571764]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
ProbationerORA
Member

Откуда:
Сообщений: 22
А может сперва вот это решить
Вывести список операций за последнюю неделю
trans.Transdate - Дата операции
17 май 12, 16:58    [12571794]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
.Anatoly.
Member

Откуда: Екатеринбург
Сообщений: 310
ProbationerORA, как вам уже подсказали, вам понадобятся ранжирующие функции. Например, ROW_NUMBER()
select trId,artdate
from (
  select
   trId
  ,artdate
  ,Row_NUMBER() OVER(
                                --Только дата, без времени
            PARTITION BY convert(datetime,convert(char(10),trDate,104),104)	
	    ORDER BY trDate DESC
  )  [number]
  from Trans
) [Data]
-- Берем вторую с конца, то есть предпоследнюю
where [Data].[number] = 2
17 май 12, 17:06    [12571865]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
.Anatoly.,только
ProbationerORA
в течении последней недели

не учтено.
И если версия сервера позволяет,то можно
Row_NUMBER() OVER(                                
            PARTITION BY cast(trDate as Date)
	    ORDER BY trDate DESC
17 май 12, 17:10    [12571907]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
.Anatoly.
Member

Откуда: Екатеринбург
Сообщений: 310
+ Добавьте еще фильтр выбирающий данные за последнюю неделю.
Например используя
             artdate > getdate()-7
/*или*/  artdate >= convert(datetime,convert(char(10),getdate()-7,104),104)	

Или что-то похожее. Тут все от условий зависит.
17 май 12, 17:12    [12571919]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
.Anatoly.
Member

Откуда: Екатеринбург
Сообщений: 310
denis2710, если версия не позволяет, то по старинке нужно джойнить.
Хотя, конечно, было бы неплохо автору сообщить версию сервера.
17 май 12, 18:25    [12572640]     Ответить | Цитировать Сообщить модератору
 Re: Вывести список предпослединх операций за каждый день в течении последней недели  [new]
ProbationerORA
Member

Откуда:
Сообщений: 22
Спасибо всем! Получилось!
17 май 12, 19:27    [12572920]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить