按日期列出的TSql总和
我试着看了一些例子,但没有一个与我想做的事情真正相关。在我的表中有一列有日期,我想做的是按日期将记录相加。例如,添加3月12日、13日、14日等的所有记录,因此每天都应该有日期和计算的金额。我将如何应用它按日期列出的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].[
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代表日期时间,它是一个包含日期时间的列。