按日期列出的TSql总和

按日期列出的TSql总和,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试着看了一些例子,但没有一个与我想做的事情真正相关。在我的表中有一列有日期,我想做的是按日期将记录相加。例如,添加3月12日、13日、14日等的所有记录,因此每天都应该有日期和计算的金额。我将如何应用它 SELECT DTTM FROM [Audits].[dbo].[Miscount] Group by DTTM Order by DTTM desc 干杯 如果需要每天的每条记录数: SELECT DTTM,COUNT(*) AS Total FROM [Audits].[dbo].[

我试着看了一些例子,但没有一个与我想做的事情真正相关。在我的表中有一列有日期,我想做的是按日期将记录相加。例如,添加3月12日、13日、14日等的所有记录,因此每天都应该有日期和计算的金额。我将如何应用它

SELECT DTTM
FROM 
[Audits].[dbo].[Miscount]
Group by DTTM
Order by DTTM desc

干杯

如果需要每天的每条记录数:

SELECT DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by DTTM
Order by DTTM desc
或者,如果希望每个记录上有一个字段的总和:

SELECT DTTM,SUM(field1) AS Sum
FROM 
[Audits].[dbo].[Miscount]
Group by DTTM
Order by DTTM desc
或者,如果DTTM是日期时间,则可以使用:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM)) AS DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM))
Order by DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM)) desc
较新版本的SQL Server将支持日期类型,因此您可以改为:

SELECT CAST(DTTM AS Date) AS DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by CAST(DTTM AS Date)
Order by CAST(DTTM AS Date) desc

如果需要每天的每条记录数:

SELECT DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by DTTM
Order by DTTM desc
或者,如果希望每个记录上有一个字段的总和:

SELECT DTTM,SUM(field1) AS Sum
FROM 
[Audits].[dbo].[Miscount]
Group by DTTM
Order by DTTM desc
或者,如果DTTM是日期时间,则可以使用:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM)) AS DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM))
Order by DATEADD(dd, 0, DATEDIFF(dd, 0, DTTM)) desc
较新版本的SQL Server将支持日期类型,因此您可以改为:

SELECT CAST(DTTM AS Date) AS DTTM,COUNT(*) AS Total
FROM 
[Audits].[dbo].[Miscount]
Group by CAST(DTTM AS Date)
Order by CAST(DTTM AS Date) desc

如果
DTTM
DateTime
类型,则

SELECT
            CAST([DTTM] AS Date) [Date],
            COUNT(*) [Total]
    FROM 
            [Audits].[dbo].[Miscount]
    GROUP BY
            CAST([DTTM] AS Date)
    ORDER BY
            1 DESC

可以。此处演示。

如果
DTTM
DateTime
类型,则

SELECT
            CAST([DTTM] AS Date) [Date],
            COUNT(*) [Total]
    FROM 
            [Audits].[dbo].[Miscount]
    GROUP BY
            CAST([DTTM] AS Date)
    ORDER BY
            1 DESC

可以。这里要演示。

选择COUNT(*)作为总计,从[Audits].[dbo].[Miscount]按DTTM分组,按DTTM顺序按DTTM描述,
[DTTM]
的类型是什么,
日期
日期时间2
日期时间
VarChar
NVarChar
或其他什么?您想为没有行的日期显示
0
,还是跳过这些日期?
选择COUNT(*)作为总计,从[Audits].[dbo].[Miscount]按DTTM分组按DTTM排序按DTTM描述
什么类型的
[DTTM]
日期
日期时间2
日期时间
VarChar
NVarChar
或其他什么?您想为没有行的日期显示
0
,还是跳过这些日期?假设
DTTM
DATETIME
类型,这将根据每个日期和时间组合给出计数。如果
DTTM
Date
,则有效,你是对的,但我假设DTTM代表“每月的一天”,是一个整数类型。我得到了第一个结果,它所做的只是给了我一个列,每个记录中都有一个1。如果我可以按日期计算所有的1,那就好了。没有DTTM代表日期时间,它是一列,字面上有日期时间。假设
DTTM
DATETIME
类型,这将根据每个日期和时间组合给出计数。如果
DTTM
date
,则有效,你是对的,但我假设DTTM代表“每月的一天”,是一个整数类型。我得到了第一个结果,它所做的只是给了我一个列,每个记录中都有一个1。如果我能按日期数一数所有的1就好了。没有DTTM代表日期时间,它是一个包含日期时间的列。