如何在sql server中查找平均值(以日期/天为单位)?
我想找到这样的结果如何在sql server中查找平均值(以日期/天为单位)?,sql,sql-server,sql-server-2008,average,Sql,Sql Server,Sql Server 2008,Average,我想找到这样的结果 我想从系统中获取当前日期 我想检索该日期的对应日期 回到当前日期的90天,试着找出类似的一天发生了多少次 想知道那个些天到诊所就诊的患者总数。(例如,从我的PtientVisit表中选择COUNT(VisitId)) 最后,我们要计算当天就诊患者的平均人数 比如->如果我今天的日期是2012年6月8日,今天的日期是星期五。你想知道吗 从今天起的最后90天开始,有多少星期五发生,有多少患者在该总星期五就诊,并希望计算平均值=总就诊患者数/总星期五 请提前给予一些帮助,谢谢。获取
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
DECLARE@enddate-datetime
SET@enddate=GETDATE()
声明@dayofweek nvarchar(50)
选择@dayofweek=DATENAME(dw,getdate())
声明@startdate datetime
选择@startdate=DATEADD(d,-90,getdate())
声明@countint
设置@count=0
而(@startdate<@enddate)
开始
IF(DATENAME(dw,@startdate)=@dayofweek)
开始
设置@count=@count+1
结束
设置@startdate=DATEADD(d,1,@startdate)
结束
打印@计数
您可以对循环中的实际日期进行处理,以获得最终查询。这纯粹是sql中的吗?或者您的编程也是在代码中进行的?是的,它完全是在SQL server中进行的?如果您可以提供表结构、示例数据以及带有该示例数据的预期输出,那么将更容易为您提供帮助。