2012-06-08 162 views
0

我想找到的结果是这样的喜欢如何在sql server中查找平均值(按日期/日期)?

  1. 我想从繁重的系统当前日期。
  2. 我想检索该日期的相应日期。
  3. 并返回90天返回到当前日期,并想尝试查明多少次类似的一天发生。
  4. 想找出那些日子里到诊所就诊的病人总数。 (ex.COUNT(VisitId))从我的PtientVisist表中。
  5. 最后想要在当天访问病人的平均数。

like->如果我得到今天的日期2012年6月8日和今天获取作为星期五。所以想要找出 就像从今天的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 

你可以与环中的实际日期东西为了让您的最终查询。