Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql server中查找平均值(以日期/天为单位)?_Sql_Sql Server_Sql Server 2008_Average - Fatal编程技术网

如何在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天开始,有多少星期五发生,有多少患者在该总星期五就诊,并希望计算平均值=总就诊患者数/总星期五 请提前给予一些帮助,谢谢。获取

我想找到这样的结果

  • 我想从系统中获取当前日期
  • 我想检索该日期的对应日期
  • 回到当前日期的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中进行的?如果您可以提供表结构、示例数据以及带有该示例数据的预期输出,那么将更容易为您提供帮助。