Sql 查询以了解每天数据的平均值

Sql 查询以了解每天数据的平均值,sql,tsql,Sql,Tsql,我想知道8月份每个日期数据数量的平均值 示例 31-08 - 2 registers 30-08 - 3 registers 我尝试了下面的查询,但没有成功 SELECT AVG(ROW_NUMBER() over (order by Chave_ID desc)), DATEPART(day, datahora) from San_Chave where DATEPART(month, datahora) = 8 group by DATEPART(day, datahora), Ch

我想知道8月份每个日期数据数量的平均值

示例

31-08 - 2 registers
30-08 - 3 registers
我尝试了下面的查询,但没有成功

SELECT AVG(ROW_NUMBER() over (order by Chave_ID desc)), DATEPART(day, datahora) 
from San_Chave 
where DATEPART(month, datahora) = 8 
group by DATEPART(day, datahora), Chave_ID
order by DATEPART(day, datahora)  desc
数据时间是
DateTime
类型和 Chave_Id是
主键
,但数字的顺序不符合逻辑,因此我尝试使用
行编号()
函数

有人能帮我吗

我想要的输出

MONTH  DAY    REGISTER
8      31     10
8      30     9
8      29     1
表格

MONTH  DAY    REGISTER
8      31     10
8      30     9
8      29     1
要进行查询,我认为只需要
Chave\u Id
DataHora
Chave\u Id
将是寄存器的数量

CREATE TABLE [dbo].[San_Chave](
    [Chave_Id] [int] IDENTITY(1,1) NOT NULL,
    [Usuario_Id] [int] NULL,
    [Credenciada_Id] [int] NULL,
    [Usuario_Id_Responsavel] [int] NULL,
    [DataHora] [datetime] NULL,
    [Transacao] [int] NULL,
    [Cliente_Id] [int] NULL,
    [DataHoraPegou] [datetime] NULL,
    [DataHoraDevolverPrevisao] [datetime] NULL,
    [DataHoraEntregou] [datetime] NULL,
    [HorasDevolucao] [int] NULL,
    [NomeResponsavel] [varchar](130) NULL,
    [CpfResponsavel] [varchar](20) NULL,
    [RgResponsavel] [varchar](20) NULL,
    [TelResponsavel] [varchar](15) NULL,
    [Tel2Responsavel] [varchar](15) NULL,
    [Endereco] [varchar](300) NULL,
    [Devolvido] [bit] NULL,
    [TextoDevolucao] [varchar](5000) NULL,
    [De] [int] NULL,
 CONSTRAINT [PK_San_Chave] PRIMARY KEY CLUSTERED 
(
    [Chave_Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

在没有看到您的模式的情况下进行猜测:

select Year, Month, avg(Count) as DailyAvgPerMonth
from (
    select DATEPART(year, datahora) as Year, 
        DATEPART(month, datahora) as Month, 
        count(*) as Count
    from Save_Chave
    group by DATEPART(year, datahora), 
        DATEPART(month, datahora), 
        DATEPART(day, datahora)
) a
group by Year, Month

我认为这样的东西会给出所需的输出

SELECT  CAST(DataHora AS DATE) AS [Date],
        COUNT(Chave_ID) AS [Entries]
FROM    San_Chave
GROUP BY CAST(DataHora AS DATE)
ORDER BY [Date]

请提供示例数据和所需输出。您肯定只需要一个
计数而不是计数的平均值?我不理解您使用
平均值
。具体来说,平均值是多少?@GarethD我不知道,也许一个计数可以解决。8月份每月每天插入我的表
San_Chave
的寄存器数请提供用于生成该输出的数据。