2012-06-08 1 views
0

Я хочу, чтобы найти результат, такие какКак найти среднее (с точки зрения даты/дня) в sql-сервере?

  1. Я хочу взять текущую дату из системы.
  2. Я хочу получить соответствующий день этой даты.
  3. и вернитесь на 90 дней назад к текущей дате и хотите попытаться выяснить, сколько раз происходил такой же день.
  4. Хотите узнать об общих пациентах, которые были в эти дни в клинике. (ex.COUNT (VisitId)) из таблицы PtientVisist.
  5. и, наконец, хотите произвести калибровку среднего числа пациентов, посещаемых в этот день.

like-> если я нахожусь сегодня в день 8 июня 2012 года и получил сегодня день в пятницу. так что хотите узнать , как с прошлых 90 дней с сегодняшнего дня, сколько было пятнадцати дней и сколько посещений посещали в течение всего пятницы и хотите подсчитать AVG = Всего пациентов, виденных/всего пятница.

Прошу вас, спасибо, заранее.

+0

это чисто в sql? или ваше программирование в коде также? – pengibot

+0

Да, это чисто в SQL-сервере? –

+1

Вам будет намного проще помочь вам, если вы сможете предоставить структуры таблиц, образцы данных и ожидаемый результат с этими образцами данных. –

ответ

1

код воздуха, чтобы получить количество дней в неделю в отрезок времени:

DECLARE @enddate datetime 
SET @enddate = GETDATE() 

DECLARE @dayofweek nvarchar(50) 
SELECT @dayofweek = DATENAME(dw, getdate()) 

DECLARE @startdate datetime 
SELECT @startdate = DATEADD(d,-90, getdate()) 

DECLARE @count int 
SET @count = 0 

WHILE (@startdate < @enddate) 
BEGIN 
    IF (DATENAME(dw, @startdate) = @dayofweek) 
     BEGIN 
      SET @count = @count + 1 
     END 
    SET @startdate = DATEADD(d, 1, @startdate) 
END 

PRINT @count 

Вы можете сделать что-то с фактической датой в цикле, чтобы получить окончательный запрос.

 Смежные вопросы

  • Нет связанных вопросов^_^